Title: | Convert Antipsychotic Doses to Chlorpromazine Equivalents |
Version: | 0.2.0 |
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. |
URL: | https://docs.ropensci.org/chlorpromazineR/, https://github.com/ropensci/chlorpromazineR |
BugReports: | https://github.com/ropensci/chlorpromazineR/issues |
Depends: | R (≥ 3.5) |
License: | GPL-3 |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 7.1.1 |
Suggests: | knitr, rmarkdown, testthat, covr |
VignetteBuilder: | knitr |
NeedsCompilation: | no |
Packaged: | 2021-03-13 22:27:49 UTC; ericbrown |
Author: | Eric Brown |
Maintainer: | Eric Brown <eb@ericebrown.com> |
Repository: | CRAN |
Date/Publication: | 2021-03-14 15:50:27 UTC |
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>