Skip to contents

[Experimental]

get_drug_classes() is an experimental convenience function that returns RxClass assertions that are likely to behave like drug-class labels.

It combines selected assertions from ATC, ATCPROD, FDA/SPL EPC, VA, and SNOMED CT disposition relationships. It intentionally excludes relationship types that usually describe contraindications, indications, physiologic effects, chemical structures, or other non-class assertions.

For a more compact and ingredient-oriented output, rely on defaults for include_sources. For extended list of product-level sources, consider adding "ATCPROD" and "VA".

This function is experimental because "drug class" is not a single native RxClass concept. Different sources use different classification logic, and this helper applies an opinionated filter to return class-like assertions. For source-specific results, use get_classes(), get_atc(), get_epc(), get_va(), or related functions directly.

Usage

get_drug_classes(
  x,
  by = c("rxcui", "name"),
  include_sources = c("ATC", "EPC", "SNOMEDCT"),
  collapse = TRUE,
  keep_input = TRUE,
  show_progress = interactive()
)

Arguments

x

Character vector of RxCUIs or drug names.

by

One of "rxcui" or "name".

include_sources

Character vector of class-like sources to include. Defaults to c("ATC", "ATCPROD", "EPC", "VA", "SNOMEDCT").

collapse

Logical; if TRUE, returns one row per unique class assertion per input and source, dropping drug-specific columns. If FALSE, returns the full source-specific rows, including matched RxCUI, drug name, and term type.

keep_input

Logical; if TRUE, includes the original input value.

show_progress

Logical. Show a progress bar in interactive sessions. Progress is shown only when at least 5 inputs are supplied.

Value

A tibble of class-like RxClass assertions.