Releases: tatonetti-lab/onsides
OnSIDES v3.1.0
Updated May 2025.
- Fixes major error in the
vocab_rxnorm_*
andhigh_confidence
tables. - Adds a CLI for convenience when releasing (
build-zip --version v3.1.0
)
Summary
Because we prune the database for orphans, this update reduces the number of items in the database. However, we believe that this update is significantly more trustworthy than the previous one.
Type | v3.0.0 | v3.1.0 |
---|---|---|
Products | 51,460 | 42,268 |
Adverse effects | 7,134,660 | 5,472,613 |
Ingredients | 10,794 | 1,955 |
Explanation
In v3.0.0, products had wrong ingredients. OnSIDES v3.0.0 and onwards uses products as the main unit. Products have labels with side effects, and products get mapped to RxNorm. Secondarily, using relationships from RxNorm, products are mapped to their respective ingredients. These mappings are also used for the "high confidence" set.
Previously (v3.0.0), I did the product-to-ingredient mapping using the OMOP CONCEPT
and CONCEPT_RELATIONSHIP
tables, without conditioning on the types of edges or intermediate types, just on path length. This was wrong. In the new version (v3.1.0), we use the RxNorm default paths (see https://lhncbc.nlm.nih.gov/RxNav/applications/RxNavViews.html for details and rxnorm_ingredients.py for implementation). This adds complexity but fixes the mapping. As an example, to go from "branded dose form" to ingredient, the correct path is SBDF => SCDF => IN, or "branded dose form" -> "clinical dose form" -> "ingredient".
Check
-- On average, how many ingredients do drug products have?
WITH n_ingredients_per_label AS (
SELECT
label_id,
COUNT(DISTINCT ingredient_id) AS n_ingredients
FROM
product_label
INNER JOIN product_to_rxnorm USING (label_id)
INNER JOIN vocab_rxnorm_ingredient_to_product ON rxnorm_product_id = product_id
GROUP BY
label_id
)
SELECT
AVG(n_ingredients)
FROM
n_ingredients_per_label;
- In v3.0.0, this returns 1343 (implausibly high)
- In v3.1.0, this returns 1.13 (realistic)
OnSIDES v3.0.0
Updated April 2025.
Major overhaul of the OnSIDES codebase. Updates include:
- Unified processing for all English labels
- New database schema
- Reproducible database generation (Snakemake)
- Schemas + loading scripts for common databases
- Include manual annotations in the release file
- Produce a high confidence set (adverse effects labeled in all sources)
The data ZIP file (onsides-v3.0.0.zip
) has the following layout:
├── annotations # Manual annotations
├── csv # Main data tables
├── database_scripts # Bash scripts for loading tables into a database
└── schema # Database schema files for MySQL, Postgres, and SQLite
Direct questions to @ntatonetti or @zietzm
Publication Version of Record
v2.1.1 feat(intl/eu): 75x speedup text data formatting
OnSIDES Data Release 2.1.0-20240925
September 25th, 2024 Data Release for OnSIDES v2.1.0. These data were generating using available structured product labels (SPLs) from DailyMed as of September 25th, 2024. This is the first release that includes the Warnings and Precautions section in addition to the Adverse Reactions and the Boxed Warnings sections.
Data releases are tagged with the release version of the code used to generate them followed by the date in YYYYMMDD format
OnSIDES Data Release v2.0.0-20240312
March 12th, 2024 Data Release for OnSIDES v2.0.0. These data were generating using available structured product labels (SPLs) from DailyMed as of March 12th, 2024.
Data releases are tagged with the release version of the code used to generate them followed by the date in YYYYMMDD format.
OnSIDES Data Release v2.0.0-20231113
November 13th, 2023 Data Release for OnSIDES v2.0.0. These data were generating using available structured product labels (SPLs) from DailyMed as of November 13th, 2023.
Data releases are tagged with the release version of the code used to generate them followed by the date in YYYYMMDD format.
OnSIDES Data Release v2.0.0-20230629
June 29, 2023 Data Release for OnSIDES v2.0.0. These data were generating using available structured product labels (SPLs) from DailyMed as of June 29, 2023.
Data releases are tagged with the release version of the code used to generate them followed by the date in YYYYMMDD format.
OnSIDES Data Release v2.0.0-20230309
March 9, 2023 Data Release for OnSIDES v2.0.0. These data were generating using available structured product labels (SPLs) from DailyMed as of March 9, 2023.
Data releases are tagged with the release version of the code used to generate them followed by the date in YYYYMMDD format.
OnSIDES Data Release v2.0.0-20230203
February 4, 2023 Data Release for OnSIDES v2.0.0. These data were generating using available structured product labels (SPLs) from DailyMed as of Feb 4, 2023.
Data releases are tagged with the release version of the code used to generate them followed by the date in YYYYMMDD format.
OnSIDES Data Release v2.0.0-20230113
January 13, 2023 Data Release for OnSIDES v2.0.0. These data were generating using available structured product labels (SPLs) from DailyMed as of January 13, 2023.
Data releases are tagged with the release version of the code used to generate them followed by the date in YYYYMMDD format.