Propose TGA PI and WA source links for 48 more high-risk medicines, signable as the live TGA search (#05WXHX)
Merged
BI
22d ago+1843+1843+0123456789012345678901234567890123456789-179-179-012345678901234567890123456789
Requested by Josh · project thread
Summary
- Second #05WXHX batch.
src/data/medication-source-links.jsonnow proposes sources for 74 of 330 medicines (was 26). - New: other anticonvulsants (oxcarbazepine, topiramate, phenytoin, levetiracetam), gabapentinoids, oral antipsychotics, QTc-prolonging antiemetics (ondansetron, domperidone), TCAs and other overdose-risk antidepressants, benzodiazepines and Z-drugs, buprenorphine, S8 stimulants, ketamine, propranolol and clonidine.
- Each maps to its TGA Product Information search link. Stimulants, alprazolam, buprenorphine, ketamine and the gabapentinoids also map to the WA Monitored Medicines Prescribing Code (Parts 2, 3, 6, 7, 8 read from the PDF) and ScriptCheckWA.
- Owner decision 2026-10-22 (decision card in the project thread): the live TGA PI search is the PI source, signed with no fixed version, because
www.ebs.tga.gov.au/robots.txtisDisallow: /and no PI version or date can be read. AddsdateModel: "live_product_information"insrc/lib/sources/acquisition-ledger.ts. It is narrow: onlypublisherCodeTGA with the eBS PICMI search URL (t=pi, non-emptyq), the fixed version "Current TGA-approved Product Information (live search)", and no publication, review, update or expiry date.missing_datesis exempt from the capture-defect floor only for that shape (acquisitionRecordMetadataDefects). - All 71 TGA PI records (26 existing + 45 new) move from
rejectedtocandidateunder that model, so the owner can sign them withnpm run clinical:review -- --pack --kind source. - Captures WA High Risk Medication Management Policy MP 0131/20 v2.0 (amended 18 Dec 2025) as an unmapped candidate.
- Decision recorded in
docs/decisions/2026-10-22-tga-pi-live-search-source.md, linked from the source protocol. Ledger update request queued for #05WXHX.
No visible change. medicationSourceLinks shows a record only when it is adopted, owner-attested against its current digest and current. Nothing here is adopted or attested, and the test asserts every one of the 74 slugs still renders nothing.
Verification
-
npm run check:source-acquisitions: "Source acquisition ledger passed." (173 candidate, 14 rejected) -
npm run check:source-catalogue: "Source catalogue coverage passed." -
npx vitest run tests/source-acquisition-ledger.test.ts tests/medication-source-links.test.ts tests/source-catalogue-providers.test.ts tests/medication-record-page.dom.test.tsx: 4 files, 114 tests passed (5 new tests for the live model) -
npm run check:decisions: 0 errors.npm run check:instructions: pass.check:ledger-write-discipline: passed. -
npm run clinical:review -- --pack --kind sourcebuilds a pack with all 71 TGA PI records - eslint on changed TS files clean; Prettier applied
Risk and rollout
- Risk: low. Register data and one ledger validation rule. No retrieval, ranking or authority-register change, nothing rendered until owner sign-off and adoption.
- Rollback: revert the two commits.
- Provider or production effects: None.
RAG impact: no retrieval behaviour change. Source register records and ledger validation only. No publisher registered and no ranking surface touched.
Clinical Governance Preflight
- Source-backed claims still require linked source verification before clinical use
- No patient-identifiable document workflow was introduced or expanded without explicit governance approval
- Supabase target remains
PsychSift Production(sjrfecxgysukkwxsowpy) - Service-role keys and private document access remain server-only
- Demo/synthetic content remains clearly separated from real clinical sources
- Source metadata, review status, and outdated/unknown-source behavior remain conservative
- Deployment classification/TGA SaMD impact was checked when clinical decision-support behavior changed
Notes
- Known tooling gap, not widened here: signing does not adopt, and adopting after signing stales the attestation, so making a link visible currently takes sign, adopt, then sign again.
🤖 Generated with Claude Code