Package 'chlorpromazineR'

Title: Convert Antipsychotic Doses to Chlorpromazine Equivalents
Description: As different antipsychotic medications have different potencies, the doses of different medications cannot be directly compared. Various strategies are used to convert doses into a common reference so that comparison is meaningful. Chlorpromazine (CPZ) has historically been used as a reference medication into which other antipsychotic doses can be converted, as "chlorpromazine-equivalent doses". Using conversion keys generated from widely-cited scientific papers, e.g. Gardner et. al 2010 <doi:10.1176/appi.ajp.2009.09060802> and Leucht et al. 2016 <doi:10.1093/schbul/sbv167>, antipsychotic doses are converted to CPZ (or any specified antipsychotic) equivalents. The use of the package is described in the included vignette. Not for clinical use.
Authors: Eric Brown [aut, cre] , Parita Shah [aut] , Julia Kim [aut] , Frederick Boehm [rev]
Maintainer: Eric Brown <[email protected]>
License: GPL-3
Version: 0.2.0
Built: 2024-12-13 05:28:09 UTC
Source: https://github.com/ropensci/chlorpromazineR

Help Index


Combine 2 keys with base key taking precedence

Description

Use this to combine 2 keys by using the whole "base" key, and adding any antipsychotics from the "added" key that are not in the "base" key.

Usage

add_key(base, added, trim, verbose = TRUE)

Arguments

base

the base key

added

the key from which other antipsychotics are found to add

trim

TRUE to use trim_key on both the base and added key, needed when one does not use the full names (e.g. leucht2016).

verbose

If TRUE, added antipsychotic names will be shown in a message

Value

a merged key

See Also

Other key functions: check_key(), trim_key()

Examples

add_key(gardner2010, leucht2016, trim = TRUE)

Checks whether antipsychotic names are in the key

Description

Provided a data.frame, x, this checks that the antipsychotic names stored in the x's variable ap_label are present in the key.

Usage

check_ap(
  input_data,
  key = chlorpromazineR::gardner2010,
  ap_label,
  route,
  route_label
)

Arguments

input_data

data.frame with antipsychotic name and dose data

key

source of the conversion factors–defaults to Gardner et al. 2010

ap_label

column in x that stores antipsychotic name

route

options include "oral", "sai", "lai" or "mixed"

route_label

if "mixed" route is specified, provide the column that stores the route information

Value

number of antipsychotic names in x[,ap_label] that don't match key

Examples

participant_ID <- c("P01", "P02", "P03", "P04")
age <- c(42, 29, 30, 60) # not used in calculation, just shows other data
                         # can exist in the data.frame
antipsychotic <- c("olanzapine", "olanzapine", "quetiapine", "ziprasidone")
dose <- c(10, 12.5, 300, 60)
example_oral <- data.frame(participant_ID, age, antipsychotic, dose, 
                           stringsAsFactors = FALSE)
check_ap(example_oral, ap_label = "antipsychotic", route = "oral", 
         key = gardner2010)

Check whether a conversion key is the expected format

Description

chlorpromazineR uses conversion factors stored in a named list of 3 named lists. This verifies that the key is in a usable format, which can be helpful when creating custom keys or modifying included keys.

Usage

check_key(key)

Arguments

key

the key to check

Value

TRUE if the key is valid, otherwise a error is thrown.

See Also

Other key functions: add_key(), trim_key()

Examples

check_key(gardner2010)

Chlorpromazine equivalent key from Davis 1974 data

Description

A list of antipsychotics and their chlorpromazine equivalent doses, generated from the following file included with the package: system.file("extdata", "davis1974.csv", package="chlorpromazineR").

Usage

davis1974

Format

A named list of 3 named lists (1 for each route) and each sub-list contains the conversion factors for each antipsychotic. The 3 top-level lists are named 'oral', 'sai', and 'lai' (route), and the lists they contain have names corresponding to the antipsychotic, e.g. 'olanzapine'.

Source

John Davis (1974). Dose equivalence of the anti-psychotic drugs. Journal of Psychiatric Research, 11, 65-69. <https://doi.org/10.1016/0022-3956(74)90071-5>


Chlorpromazine equivalent key from Gardner et al. 2010 data

Description

A list of antipsychotics and their chlorpromazine equivalent doses, generated from the following file included with the package: system.file("extdata", "gardner2010.csv", package="chlorpromazineR").

Usage

gardner2010

Format

A named list of 3 named lists (1 for each route) and each sub-list contains the conversion factors for each antipsychotic. The 3 top-level lists are named 'oral', 'sai', and 'lai' (route), and the lists they contain have names corresponding to the antipsychotic, e.g. 'olanzapine'.

Details

The SAI data is not included in this key, because the original study did not specify a conversion factor from chlorpromazine LAI to oral. The alternative key gardner2010_withsai can be used, which includes the SAI data, but the chlorpromazine equivalent doses produced are equivalent to chlorpromazine SAI not chlorpromazine oral. They could be manually converted (e.g. by multiplying the SAI doses by 3 per equivalence noted by Davis 1974 <https://doi.org/10.1016/0022-3956(74)90071-5>)

Source

Gardner, D. M., Murphy, A. L., O’Donnell, H., Centorrino, F., & Baldessarini, R. J. (2010). International consensus study of antipsychotic dosing. The American Journal of Psychiatry, 167(6), 686–693. <https://doi.org/10.1176/appi.ajp.2009.09060802>


Chlorpromazine equivalent key from Gardner et al. 2010 data

Description

A list of antipsychotics and their chlorpromazine equivalent doses, generated from the following file included with the package: system.file("extdata", "gardner2010.csv", package="chlorpromazineR").

Usage

gardner2010_withsai

Format

A named list of 3 named lists (1 for each route) and each sub-list contains the conversion factors for each antipsychotic. The 3 top-level lists are named 'oral', 'sai', and 'lai' (route), and the lists they contain have names corresponding to the antipsychotic, e.g. 'olanzapine'.

Details

The SAI equivalents produced by this key are equivalent to chlorpromazine SAI not oral. They could be manually converted.

Source

Gardner, D. M., Murphy, A. L., O’Donnell, H., Centorrino, F., & Baldessarini, R. J. (2010). International consensus study of antipsychotic dosing. The American Journal of #' Psychiatry, 167(6), 686–693. <https://doi.org/10.1176/appi.ajp.2009.09060802>


Chlorpromazine equivalent key from Leucht et al. 2016 data

Description

A list of antipsychotics and their chlorpromazine equivalent doses, generated from the following file included with the package: system.file("extdata", "leucht2016.csv", package="chlorpromazineR").

Usage

leucht2016

Format

A named list of 3 named lists (1 for each route) and each sub-list contains the conversion factors for each antipsychotic. The 3 top-level lists are named 'oral', 'sai', and 'lai' (route), and the lists they contain have names corresponding to the antipsychotic, e.g. 'olanzapine'.

Source

Leucht, S., Samara, M., Heres, S., & Davis, J. M. (2016). Dose Equivalents for Antipsychotic Drugs: The DDD Method. Schizophrenia Bulletin, 42(suppl_1), S90–S94. <https://doi.org/10.1093/schbul/sbv167>


Antipsychotic equivalent key from Leucht et al. 2020 data

Description

A list of antipsychotics and their olanzapine-equivalent doses, generated from the following file included with the package: system.file("extdata", "leucht2020.csv", package="chlorpromazineR").

Usage

leucht2020

Format

A named list of 3 named lists (1 for each route) and each sub-list contains the conversion factors for each antipsychotic. The 3 top-level lists are named 'oral', 'sai', and 'lai' (route), and the lists they contain have names corresponding to the antipsychotic, e.g. 'olanzapine'.

Details

This reference does not include chlorpromazine, so the conversion from leucht2016 is implied (i.e. chlorpromazine = olanzapine * 30).

Source

Leucht, S., Crippa, A., Siafis, S., Patel, M., Orsini, N. & Davis, J. M. (2020). Dose-Response Meta-Analysis of Antipsychotic Drugs for Acute Schizophrenia. American Journal of Psychiatry. 117(4). <https://doi.org/10.1176/appi.ajp.2019.19010034>


Calculates equivalent doses

Description

As in to_cpz(), to_ap() converts doses of antipsychotics into equivalent doses to a reference antipsychotic. Whereas in to_cpz() the reference antipsychotic is chlorpromazine (CPZ), to_ap() converts to equivalents of an arbitrary antipsychotic specified as a string to convert_to_ap. Conversion factors are specified in the key.

Usage

to_ap(
  input_data,
  convert_to_ap = "olanzapine",
  convert_to_route = "oral",
  ap_label,
  dose_label,
  route = "oral",
  key = chlorpromazineR::gardner2010,
  cpz_eq_label = "cpz_eq",
  ref_eq_label = "ap_eq",
  factor_label = "cpz_conv_factor",
  route_label = NULL,
  q_label = NULL
)

Arguments

input_data

data.frame with antipsychotic name and dose data

convert_to_ap

name of desired reference antipsychotic

convert_to_route

the route of the desired reference antipsychotic

ap_label

column in x that stores antipsychotic name

dose_label

column in x that stores dose

route

options include "oral", "sai", "lai" or "mixed"

key

source of the conversion factors–defaults to Gardner et al. 2010

cpz_eq_label

the name of the column to be created, to save the calculated CPZ-equivalent dose

ref_eq_label

the name of the column to be created to save the doses in terms of the specified reference antipsychotic (in convert_to_ap)

factor_label

the name of the column to be created to store the conversion factors

route_label

if "mixed" route is specified, provide the column that stores the route information

q_label

if long-acting injectable doses are included, provide the column that stores the injection frequency (days), or only if the doses have already been divided, set q_label = 1.

Value

data.frame with new variables storing conversion factor and CPZ-equivalent doses

See Also

Other conversion functions: to_cpz()

Examples

participant_ID <- c("P01", "P02", "P03", "P04")
age <- c(42, 29, 30, 60) # not used in calculation, just shows other data
                         # can exist in the data.frame
antipsychotic <- c("olanzapine", "olanzapine", "quetiapine", "ziprasidone")
dose <- c(10, 12.5, 300, 60)
example_oral <- data.frame(participant_ID, age, antipsychotic, dose,
                           stringsAsFactors = FALSE)
to_ap(example_oral, convert_to_ap="olanzapine", convert_to_route="oral",
      ap_label = "antipsychotic", dose_label = "dose", route = "oral")

Calculates chlorpromazine-equivalent doses

Description

Given a data.frame containing doses of antipsychotics to_cpz() converts the doses into the equivalent chlorpromazine (CPZ) doses, using the conversion factors specified in the key.

Usage

to_cpz(
  input_data,
  ap_label,
  dose_label,
  route = "oral",
  key = chlorpromazineR::gardner2010,
  eq_label = "cpz_eq",
  factor_label = "cpz_conv_factor",
  route_label = NULL,
  q_label = NULL
)

Arguments

input_data

data.frame with antipsychotic name and dose data

ap_label

column in x that stores antipsychotic name

dose_label

column in x that stores dose

route

options include "oral", "sai", "lai" or "mixed"

key

source of the conversion factors–defaults to Gardner et al. 2010

eq_label

the name of the column to be created, to save the calculated CPZ-equivalent dose

factor_label

the name of the column to be created to store the conversion factors

route_label

if "mixed" route is specified, provide the column that stores the route information

q_label

if long-acting injectable doses are included, provide the column that stores the injection frequency (days), or only if the doses have already been divided, set q_label = 1.

Details

The default key is gardner2010 which has data for both oral and long-acting antipsychotic medications. See help(gardner2010) for the source reference.

Value

data.frame with new variables storing conversion factor and CPZ-equivalent doses

See Also

Other conversion functions: to_ap()

Examples

participant_ID <- c("P01", "P02", "P03", "P04")
age <- c(42, 29, 30, 60)
antipsychotic <- c("olanzapine", "olanzapine", "quetiapine", "ziprasidone")
dose <- c(10, 12.5, 300, 60)
example_oral <- data.frame(participant_ID, age, antipsychotic, dose, 
                           stringsAsFactors = FALSE)
to_cpz(example_oral, ap_label = "antipsychotic", dose_label = "dose", 
       route = "oral")

Modify the names in a conversion key to only include the first word

Description

For parenteral (sai) and long-acting/depot (lai) antipsychotics, the name consists of the usual generic name (such as haloperidol) and a second word describing the formulation (e.g. haloperidol decanoate). Since to_cpz() and add_key() require exact matches to work properly, removing the second word may be required, but should be done with care as it can add ambiguity (e.g. fluphenazine enanthate and decanoate).

Usage

trim_key(key)

Arguments

key

the key to trim

Value

the key that was trimmed (a named list of 3 named lists)

See Also

Other key functions: add_key(), check_key()

Examples

trim_key(gardner2010)

Chlorpromazine equivalent key from Woods 2003 data

Description

A list of antipsychotics and their chlorpromazine equivalent doses, generated from the following file included with the package: system.file("extdata", "woods2003.csv", package="chlorpromazineR").

Usage

woods2003

Format

A named list of 3 named lists (1 for each route) and each sub-list contains the conversion factors for each antipsychotic. The 3 top-level lists are named 'oral', 'sai', and 'lai' (route), and the lists they contain have names corresponding to the antipsychotic, e.g. 'olanzapine'.

Source

Scott Woods (2003). Chlorpromazine Equivalent Doses for the Newer Atypical Antipsychotics. Journal of Clinical Psychiatry. 64(6). 663-667. <https://doi.org/10.4088/JCP.v64n0607>