What you're looking at
The Pharmaceutical Benefits Advisory Committee (PBAC) decides which medicines the Australian Government subsidises through the PBS. After every meeting it publishes a Public Summary Document (PSD) for each application — what the sponsor submitted, what evidence was provided, and whether it was recommended for listing. script.report aggregates every PSD published since the public summary regime began, alongside the actual PBS expenditure once a medicine is listed.
Where the data comes from
- Decisions — every PBAC Public Summary Document (PDF + HTML) published on pbs.gov.au.
- Expenditure — monthly PBS expenditure stats from Services Australia.
- Drug schedule + ATC codes — the monthly PBS Schedule API.
- Upcoming meetings — PBAC cycle calendar PDFs and meeting agendas.
Every figure on the site can be traced back to a public pbs.gov.au URL. Source links sit on each drug page.
How the dataset is built
I've been extracting and cataloguing the data inside PSDs for many years. They are 4–80+ page documents written in dense PBAC prose, and the fields that matter — indication, comparator, evidence type, ICER, recommendation, rejection reasons — are buried throughout. Each PSD is normalised into a structured row of around 25 fields, surfaced on the drug page with a backlink to the source document.
Precedent search — the heart of the site
This is where the dataset really earns its keep. Every drug's extracted profile is converted into a high-dimensional embedding vector using Voyage AI's voyage-3 model, and the whole corpus lives in an in-memory vector index that the /api/search endpoint queries on every request.
Embeddings work unusually well on PSDs. The documents share a tight, technical vocabulary — comparators, ICER framings, ESC commentary, DUSC concerns, managed-entry mechanics, immature-OS arguments, nominated-price reductions — so similar precedents end up neighbours in vector space even when they use different drug names, different indications, or different wording. A query like "immature OS in second-line oncology rejected on uncertain ICER" doesn't return keyword hits; it returns the actual precedents PBAC has weighed before.
Your query is embedded the same way and ranked by cosine similarity. The Match score on each card is that similarity (0–1). The outcome / year / therapy chips narrow the candidate pool.
See every PBAC decision on a single map →
Limitations
script.report extracts information discussed in PBAC Public Summary Documents (PSDs), not independently calculated values. Where figures such as ICERs are shown, they reflect what was discussed or referenced in committee documentation — not confirmed inputs. For authoritative cost-effectiveness data, refer to the original PSD.
- Extraction errors. Claude Haiku is good but not perfect; some fields will be wrong, especially in older or unusually-formatted PSDs. Always trust the source PSD over the extracted field.
- Pricing is redacted in public PSDs. Published ICERs are nominal "submitted" values, not the final price negotiated through any managed-entry agreement.
- Coverage is the PBAC PSD record only — non-PBAC subsidy programs (LSDP, etc.) are not included.
- Not advice. This is a research and journalism aid, not legal, clinical, or commercial advice.
Who built it
script.report is built and maintained by Josh Ciardi (joshciardi@icloud.com). Found a bug, a missing PSD, or want a feature — get in touch.
← Back to dashboard