We publish our pricing. £1,500 a month per molecule. See it here →
1 April 2026 · Hospital data · 11 min read

SCMD, translated: what you actually get for your five-line CSV request.

Secondary Care Medicines Data is powerful and quietly awful to use. A short primer on the joins that matter, the joins that don't, and the joins the NHS won't do for you.

SCMD is the closest thing the NHS publishes to hospital pharmacy dispensing. It is invaluable and it is a mess. This is what to read before you first open the CSV.

What SCMD is

Monthly issues by NHS trust, keyed on VMP (Virtual Medicinal Product). The volumes you can lean on. The costs you cannot, because the cost column is 'indicative', and that one word does more work than any other in the release. We will come back to it.

The data comes from the stock-control systems inside each trust's pharmacy, collated centrally and published monthly by the NHSBSA on its Open Data Portal, under the Open Government Licence, free to anyone. An 'issue' means stock leaving the pharmacy: to a ward, a theatre, an outpatient clinic, sometimes a homecare provider. It is a movement of boxes, not an administration record. Nothing in SCMD proves a patient actually received anything. The dataset has been published in its current open form since 2019, with history reaching back a little further, which is young by NHS data standards.

The title of this piece is not entirely a joke, by the way. The substance of the release is a handful of columns: the month, the trust's ODS code, the VMP code and name, a unit of measure, a quantity, and an indicative cost. Seven columns, give or take a release note. That is what you get. Everything else you need, and you need a lot else, lives in other reference files that you join on yourself.

The list of what SCMD is not runs longer than the list of what it is, and it is worth reciting. It is not patient-level. It carries no indications. It shows no brands, for reasons we will get to. Its coverage of homecare medicines and outsourced dispensing varies by trust and by year. And it says nothing about primary care, which lives in the English Prescribing Data with entirely different columns and quirks. If your question involves any of those things, SCMD alone will not answer it. One more oddity while we are here: because issues are net of returns and stock adjustments, the occasional negative quantity is normal, and it should puzzle you less than it will the first time you meet one.

The vocabulary: VTM, VMP and AMP

Every row is keyed against dm+d, the NHS dictionary of medicines and devices, and three of its layers matter here. The VTM, Virtual Therapeutic Moiety, is the substance itself: 'adalimumab', no strength, no form. The VMP, Virtual Medicinal Product, is a real product with the brand stripped off: 'Adalimumab 40mg/0.4ml solution for injection pre-filled pens'. The AMP, Actual Medicinal Product, is the thing in the fridge: Humira, made by AbbVie, or Amgevita, made by Amgen, or one of the other biosimilars.

SCMD is published at VMP level, and that is a design decision with consequences. The originator pen and every biosimilar pen of the same strength collapse into a single row, and no join, however clever, will separate them again. EPD, by contrast, records the AMP wherever a prescriber wrote a brand name. So manufacturer questions can sometimes be answered in primary care and essentially never in hospital data. For a concrete contrast from the other side of the fence: the VTM 'apixaban' sits above the 2.5mg and 5mg tablet VMPs, and beneath those sit Eliquis and every generic maker's AMP. Hospital data stops at the middle layer. Any analysis claiming manufacturer share from SCMD alone has joined in data that is not there.

For completeness: dm+d has two further layers, VMPP and AMPP, which add pack sizes to the generic and branded views respectively. You rarely need them for SCMD, but you will meet them the moment you do pricing work in primary care, so it is worth knowing they exist.

The three joins that matter

VMP → VTM to roll up to substance. Trust code → provider name via ODS. Provider → ICB via ODS relationships. Miss any of the three and your table will not aggregate the way you expect.

Join one: VMP to VTM

The rollup sounds trivial: every VMP points at a VTM, group by VTM, done. Four things go wrong in practice. First, not every VMP has a VTM. Combination products, some devices and a scatter of borderline substances sit with the field empty, and a naive GROUP BY silently drops them from your totals. Whether that matters depends on the molecule. Apixaban is safe on this count. Several inhaler and combination lines are not. You have to look.

Second, units. One adalimumab VMP is counted in pre-filled pens, another in pre-filled syringes, another in vials, and summing the quantity column across them produces a number with no unit at all. Convert to milligrams, or to defined daily doses, before adding anything. Third, VMP codes are not forever. When a definition changes, the old code is retired and a successor created, so a five-year series built only on today's codes shows your molecule falling off a cliff at whatever date the record changed. dm+d publishes the predecessor trail; use it. Fourth, the VTM mixes routes and forms. Oral methotrexate and injectable methotrexate share a VTM and clinically have very little to do with each other. Decide what you are actually measuring before you roll anything up.

Join two: trust codes and the merger problem

Each trust appears as an ODS code, assigned by the Organisation Data Service, which is the NHS register of every organisation that exists or has ever existed. A code like RTH tells you nothing by itself, which is rather the point of a register, and the join that turns it into a human-readable name is a single lookup. The trap is that NHS organisations change constantly, and acute trusts in particular merge with enthusiasm.

When two trusts merge, the old codes stop reporting and a successor code starts. Plot a naive series and you will watch two institutions collapse to zero in the same month a new one appears from nowhere at triple the size. Technically true, analytically useless. ODS publishes successor relationships precisely so you can stitch these series back together, and with dozens of acute mergers since 2017, any multi-year SCMD analysis that has not been stitched contains at least one fake cliff. If a chart shows a trust's use falling 100% in a month, the likeliest explanation is that the trust changed its name.

Join three: provider to ICB

The temptation is obvious. You have 200-odd trusts, your commercial model thinks in 42 ICBs, and ODS will happily tell you which ICB hosts each trust. The join runs first time. The output misleads in a specific way: patients cross boundaries. A tertiary centre treats patients from half the country, and attributing every milligram it issues to the ICB that happens to contain its postcode inflates that ICB and starves its neighbours. The bigger and more specialist the hospital, the worse the distortion. Per-capita comparisons built this way put the host ICB of every teaching hospital at the top of the table, every time, for reasons that have nothing to do with prescribing behaviour.

Our rule at DoseTrend: hospital data reads most honestly at trust level. We roll up to ICB only for medicines genuinely dispensed close to home, and we label per-capita hospital figures as unadjusted for patient flows. If your question is truly 'hospital use by where patients live', SCMD cannot answer it. That takes patient-level datasets that sit behind an application process, a data-sharing agreement and a wait.

'Indicative cost', in full

Now the word we promised to come back to. The cost column in SCMD is computed, not observed: quantity multiplied by a published list price, from the Drug Tariff or the manufacturer's NHS list price. It is not what the trust paid. What trusts actually pay is set by national framework tenders run by the Commercial Medicines Unit and by local contracts, and those prices are confidential, deliberately and permanently. A version of the same limitation affects cost columns in primary care too, but the distortion is far larger in hospital data, because hospital medicine is where the confidential contracts live.

The gap between list and paid is not a rounding error. For established generics it is large. For biologics after biosimilar entry it is enormous. Adalimumab is the canonical case: the NHS was spending roughly £400m a year on it when biosimilars arrived, the largest single medicines line in the hospital system, and the national switch that followed was publicly reported to save around £300m a year. The list price barely moved. Which means the single largest medicines saving in NHS history is more or less invisible in SCMD's cost column.

The practical rules follow directly. Volume trends in SCMD are real. Spend trends are fiction wherever confidential discounts are moving, which is precisely the markets a commercial team cares about most. Never benchmark trusts against each other on indicative cost, because the differences reflect product mix and list prices rather than procurement skill. Use indicative cost, if at all, as a coarse weighting between molecules, and say the word indicative every single time. We do, and we still get the occasional email about it.

The lag, and the restatements

SCMD arrives roughly two months after the month it describes, which is the gap behind the four-to-six-weeks wording on our data page. May's hospital data lands in high summer. It arrives first as a provisional release, finalised versions follow months later, and trusts resubmit in between, so the most recent months of the series are quietly rewritten, usually upwards as late submissions land. The publication calendar is on the NHSBSA site and it is kept honestly, so build your pipeline to the calendar rather than to hope.

This has one operational consequence that catches nearly everyone once. You cannot append. If you cache last month's file and diff the new release against it, you will eventually publish a 'movement' that is actually a restatement of history. The only safe habit is to re-pull the entire series every month and rebuild from scratch. DoseTrend does exactly that, and roughly one month in three the rebuild changes a number we had already noted internally. The data is not wrong. It is just still arriving.

A worked example: adalimumab

Put the pieces together. Start at the VTM for adalimumab and enumerate its VMPs: the 40mg/0.4ml pre-filled pens and syringes, the 20mg/0.2ml syringe for paediatrics, the 80mg/0.8ml pen, the older 40mg/0.8ml presentations, the vials. Convert everything to milligrams, so a carton of two 40mg pens counts as 80mg, not as one unit. Pull every monthly file rather than just the newest. Stitch the trust codes across every merger in your window. Then, and only then, plot. The enumeration step is where most first attempts fail, because the vials and the paediatric syringe are easy to miss, and together they are not a trivial share of the total.

What you will see, on the current sample series, is a volume line that climbs steadily as biologic use widens, and an indicative cost line that tracks list price and therefore shows no discontinuity in 2018 and 2019, where the real economics of the molecule fell off a cliff. You will also see no brands anywhere: the originator and five-plus biosimilars sit in one row per VMP. The volume story is genuinely useful. It tells you who is treating more, where, and how fast that is growing. The money story is simply not there, and no amount of analysis will put it there.

Run the same exercise on etanercept, rituximab or trastuzumab and the shape repeats. Which gives you a simple tell for reading other people's decks: if a chart claims hospital spend on a biosimilar-era molecule fell 75% after launch, the author either had access to confidential pricing or made it up. There is no third option in open data.

A sceptic's checklist

Before an SCMD number goes into anything that matters, we run seven questions. One: is the VMP list complete, including retired codes and their successors? Two: are the units normalised, milligrams or defined daily doses, rather than a sum of pens and vials? Three: are trust mergers stitched, or is there a fake cliff hiding somewhere in the series?

Four: are the most recent months provisional, and does the claim survive a plausible upward restatement? Five: is every cost figure labelled indicative, on the slide itself rather than in the appendix? Six: does the claim require brands, manufacturers or patient counts? If so, SCMD cannot support it, whatever the deck says. Seven: does any per-capita claim survive the tertiary-centre problem?

Seven questions, most of them thirty seconds each. Between them they would catch the majority of the SCMD misreadings we see in the wild, and every single one of the errors we have made with it ourselves. An eighth question, if you want one: can the person quoting the number name the three joins? It is remarkable how often they cannot.

None of this is a reason to avoid the dataset. SCMD is still the best view anyone outside the service has of hospital medicines use, it updates monthly, and it costs nothing except the joins. DoseTrend exists to do the joins so you do not have to. But we would rather you knew where the bodies are buried, because a number you can interrogate is worth more than a number you have to trust.

Written by the Cooply Solutions team. Corrections welcome at hello [at] dosetrend [dot] com.