A software framework for infrared spectral analysis in harm reduction drug checking
Bibliographic record
Abstract
Background: Drug checking is a harm reduction intervention that uses chemical analytical methods to provide information on the composition of illicit drug mixtures. It is necessary to expand the reach of drug checks to fully meet the needs of populations who use drugs who are at risk of overdose. Technical barriers to drug checking, such as software that is challenging to use without extensive training and practice, hinder the expansion of these services.Objectives: This study describes the development, architecture, and deployment of a custom FTIR-based software framework. Components of this framework are useful across several models of drug checking.Methods: A kiosk application controls a spectrometer and uploads the spectral and survey data to a centralized database. An analysis suite facilitates spectral interpretation using libraries, a repository of previous data, and analysis tools. Individual drug checking results are accessible online. Aggregated data are viewed internally via a dashboard. Public-facing reports are tailored to different communities.Results: The software was successfully deployed with a total of 6 remote service sites operating by 2024. Between May 2022 and December 2024, 2673 drug samples were checked for 1926 clients, including hundreds accessing drug checking for the first time. Weekly and monthly reports of aggregate drug data were created.Conclusions: By lowering technical barriers and supporting real-time reporting, our software framework expanded service access and provided actionable data to both communities and public health stakeholders. This method represents a meaningful advancement in the technological infrastructure necessary to sustain and expand drug checking efforts.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.008 | 0.020 |
| Meta-epidemiology (narrow) | 0.003 | 0.002 |
| Meta-epidemiology (broad) | 0.001 | 0.004 |
| Bibliometrics | 0.004 | 0.002 |
| Science and technology studies | 0.001 | 0.002 |
| Scholarly communication | 0.003 | 0.005 |
| Open science | 0.005 | 0.007 |
| Research integrity | 0.002 | 0.004 |
| Insufficient payload (model declined to judge) | 0.012 | 0.008 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".