Title: | Acute Lymphoblastic Leukemia Maintenance Therapy Analysis |
---|---|
Description: | Evaluates acute lymphoblastic leukemia maintenance therapy practice at patient and cohort level. |
Authors: | Tushar Mungle [aut, cre] , Ananya Mahadevan [aut] , Shekhar Krishnan [aut] |
Maintainer: | Tushar Mungle <[email protected]> |
License: | GPL (>= 3) |
Version: | 0.1.0 |
Built: | 2024-11-03 06:58:29 UTC |
Source: | https://github.com/tmungle/allmt |
Evaluate number of anemia episodes and their duration for a given patient or cohort
assess_anemia(input_files_path, hb_range, duration_hb = NA)
assess_anemia(input_files_path, hb_range, duration_hb = NA)
input_files_path |
path to a file or a folder with MT csv files (in quotes). |
hb_range |
Hemoglobin (HB) value range of c(Anemic HB threshold, recovered HB threshold). NOTE: Ensure that units are the same as unit of HB in the input data. |
duration_hb |
numeric duration (in weeks) that is used to categorize event as "long duration anemia" (optional) |
Returns a list with (1) the anemia information for each patient as listed below, (2) analysis summary as dataframe (3) analysis summary as HTML table.
Pat ID
Number of particular toxicity episodes
Duration of particular toxicity (in weeks)
Number of long duration toxicity episodes
Duration of long duration toxicity (in weeks)
If the function is used for cohort analysis then values are represented as median and interquartile range (IQR) (25%-75%). The median and IQR is rounded off to upper integer value if decimal value is greater or equal to 0.5, else to lower integer value. Example 1.4->1 and 3.75->4
Long duration toxicity is only analyzed if "duration_hb" is included in provided arguments
User may save the result as a list, if required, to analyze each patient seperatly please use 1st element of list
assess_neutropenia()
, assess_thrombocytopenia()
pat_data = system.file("extdata/processed_data/", "UPN_915.csv", package = "allMT") assess_anemia(input_files_path = pat_data, hb_range = c(7, 8), duration_hb = 3) cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") assess_anemia(input_files_path = cohort_path, hb_range = c(7, 8), duration_hb = 3) result <- assess_anemia(input_files_path = pat_data, hb_range = c(7, 8), duration_hb = 3) print(result[[1]]) print(result[[2]]) print(result[[3]])
pat_data = system.file("extdata/processed_data/", "UPN_915.csv", package = "allMT") assess_anemia(input_files_path = pat_data, hb_range = c(7, 8), duration_hb = 3) cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") assess_anemia(input_files_path = cohort_path, hb_range = c(7, 8), duration_hb = 3) result <- assess_anemia(input_files_path = pat_data, hb_range = c(7, 8), duration_hb = 3) print(result[[1]]) print(result[[2]]) print(result[[3]])
Evaluate number of times blood counts did not support physicians' INCREASE DOSE decision
assess_increased_doses( input_files_path, anc_threshold = NA, plt_threshold = NA, hb_threshold = NA, escalation_factor, tolerated_dose_duration )
assess_increased_doses( input_files_path, anc_threshold = NA, plt_threshold = NA, hb_threshold = NA, escalation_factor, tolerated_dose_duration )
input_files_path |
path to a file or a folder with MT csv files (in quotes). |
anc_threshold |
Absolute neutrophil count (ANC) value threshold above which doses should be increased. NOTE: Ensure that the threshold value is represented with same unit as of the input ANC data. |
plt_threshold |
Platelet (PLT) value threshold above which doses should be increased. NOTE: Ensure that the threshold value is represented with same unit as of the input PLT data. |
hb_threshold |
Hemoglobin (HB) value threshold below which doses should be increased. NOTE: Ensure that the threshold value is represented with same unit as of the input Hb data. |
escalation_factor |
Percentage of increase from previous tolerated dose to be considered as "increased" dose. |
tolerated_dose_duration |
Number of weeks with ANC, PLT, and Hb values consistently above threshold with same dose prescription, following which dose should be increased. |
Returns a list with (1) the 'INCREASE DOSE' analysis for each patient as listed below, (2) analysis summary as dataframe (3) analysis summary as HTML table in viewer.
Pat ID
Number of decisions where the physician increased dose (a)
Number of times blood counts did not support dose suspension (b)
Discordance (%) = (
Atleast one of the threshold parameters (anc_threshold, plt_threshold, hb_threshold) must be provided to carry out analysis. Missing threshold parameter will not be considered.
If the function is used for cohort analysis then a and b will be represented as median and interquartile range (IQR) (25%-75%). The median and IQR is rounded off to upper integer value if decimal value is greater or equal to 0.5, else to lower integer value Example 1.4->1 and 3.75->4
User may save the result as a list, if required, to analyze each patient separately - use 1st element of list. Please refer to examples from assess_anemia
time_to_first_dose_increase()
, assess_reduced_doses()
, assess_stop_doses()
cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") assess_increased_doses(input_files_path = cohort_path, anc_threshold = 0.75, plt_threshold = 75, hb_threshold = 8, escalation_factor = 25, tolerated_dose_duration = 8) pat_data = system.file("extdata/processed_data/", "UPN_914.csv", package = "allMT") assess_increased_doses (input_files_path = pat_data, anc_threshold = 0.75, plt_threshold = 75, hb_threshold = 8, escalation_factor = 15, tolerated_dose_duration = 6) assess_increased_doses(input_files_path = cohort_path, anc_threshold = 0.7, plt_threshold = 60)
cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") assess_increased_doses(input_files_path = cohort_path, anc_threshold = 0.75, plt_threshold = 75, hb_threshold = 8, escalation_factor = 25, tolerated_dose_duration = 8) pat_data = system.file("extdata/processed_data/", "UPN_914.csv", package = "allMT") assess_increased_doses (input_files_path = pat_data, anc_threshold = 0.75, plt_threshold = 75, hb_threshold = 8, escalation_factor = 15, tolerated_dose_duration = 6) assess_increased_doses(input_files_path = cohort_path, anc_threshold = 0.7, plt_threshold = 60)
Evaluate number of neutropenia episodes and their duration for a given patient or cohort
assess_neutropenia(input_files_path, anc_range, duration_anc = NA)
assess_neutropenia(input_files_path, anc_range, duration_anc = NA)
input_files_path |
path to a file or a folder with MT csv files (in quotes). |
anc_range |
Absolute neutrophil count (ANC) value range of c(Neutropenic ANC threshold, recovered ANC threshold). NOTE: Ensure that units are the same as unit of ANC in the input data. |
duration_anc |
numeric duration (in weeks) that is used to categorize event as "long duration neutropenia" (optional) |
Returns a list with (1) the neutropenia information for each patient as listed below, (2) analysis summary as dataframe (3) analysis summary as HTML table.
Pat ID
Number of particular toxicity episodes
Duration of particular toxicity (in weeks)
Number of long duration toxicity episodes
Duration of long duration toxicity (in weeks)
If the function is used for cohort analysis then values are represented as median and interquartile range (IQR) (25%-75%). The median and IQR is rounded off to upper integer value if decimal value is greater or equal to 0.5, else to lower integer value. Example 1.4->1 and 3.75->4
Long duration toxicity is only analyzed if "duration_anc" is included in provided arguments
User may save the result as a list, if required, to analyze each patient neutropenia analysis by analyzing 1st element of list
assess_anemia()
, assess_thrombocytopenia()
pat_data = system.file("extdata/processed_data/", "UPN_915.csv", package = "allMT") assess_neutropenia(input_files_path = pat_data, anc_range = c(0.5, 0.75), duration_anc = 3) cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") assess_neutropenia(input_files_path = cohort_path, anc_range = c(0.5, 0.75), duration_anc = 3) result <- assess_neutropenia(input_files_path = pat_data, anc_range = c(0.5, 0.75), duration_anc = 3) print(result[[1]]) print(result[[2]]) print(result[[3]])
pat_data = system.file("extdata/processed_data/", "UPN_915.csv", package = "allMT") assess_neutropenia(input_files_path = pat_data, anc_range = c(0.5, 0.75), duration_anc = 3) cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") assess_neutropenia(input_files_path = cohort_path, anc_range = c(0.5, 0.75), duration_anc = 3) result <- assess_neutropenia(input_files_path = pat_data, anc_range = c(0.5, 0.75), duration_anc = 3) print(result[[1]]) print(result[[2]]) print(result[[3]])
Evaluate number of times blood counts did not support physicians' REDUCE DOSE decision
assess_reduced_doses( input_files_path, anc_range = NA, plt_range = NA, hb_range = NA, reduction_factor )
assess_reduced_doses( input_files_path, anc_range = NA, plt_range = NA, hb_range = NA, reduction_factor )
input_files_path |
path to a file or a folder with MT csv files (in quotes). |
anc_range |
Absolute neutrophil count (ANC) range between which doses should be reduce. NOTE: Ensure that values are represented with same unit as of the input ANC data. |
plt_range |
Platelet (PLT) range between which doses should be reduce. NOTE: Ensure that values are represented with same unit as of the input PLT data. |
hb_range |
Hemoglobin (HB) range between which doses should be stopped. NOTE: Ensure that values are represented with same unit as of the input Hb data. |
reduction_factor |
Percentage of 6MP starting dose (first visit dose) dose that will be called as "reduced" dose. Default = 50% of starting dose. |
Returns a list with (1) the 'REDUCE DOSE' analysis for each patient as listed below, (2) analysis summary as dataframe (3) analysis summary as HTML table in viewer.
Pat ID
Number of decisions where the physician reduced dose (a)
Number of times blood counts did not support dose reduction (b)
Discordance (%) = (
#' @note
Atleast one of the threshold parameters (anc_threshold, plt_threshold, hb_threshold) must be provided to carry out analysis. Missing threshold parameter will not be considered.
If the function is used for cohort analysis then a and b will be represented as median and interquartile range (IQR) (25%-75%). The median and IQR is rounded off to upper integer value if decimal value is greater or equal to 0.5, else to lower integer value Example 1.4->1 and 3.75->4
User may save the result as a list, if required, to analyze each patient separately - use 1st element of list. Please refer to examples from assess_anemia
assess_stop_doses()
, assess_increased_doses()
pat_data <- system.file("extdata/processed_data/", "UPN_915.csv", package = "allMT") assess_reduced_doses(input_files_path = pat_data, anc_range = c(0.5,0.75), plt_range = c(50,75), hb_range = c(7,8), reduction_factor = 50) cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") assess_reduced_doses(input_files_path = cohort_path, anc_range = c(0.5,0.75), plt_range = c(50,75), hb_range = c(7,8), reduction_factor = 50)
pat_data <- system.file("extdata/processed_data/", "UPN_915.csv", package = "allMT") assess_reduced_doses(input_files_path = pat_data, anc_range = c(0.5,0.75), plt_range = c(50,75), hb_range = c(7,8), reduction_factor = 50) cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") assess_reduced_doses(input_files_path = cohort_path, anc_range = c(0.5,0.75), plt_range = c(50,75), hb_range = c(7,8), reduction_factor = 50)
Evaluate number of times blood counts did not support physicians' STOP DOSE decision
assess_stop_doses( input_files_path, anc_threshold = NA, plt_threshold = NA, hb_threshold = NA )
assess_stop_doses( input_files_path, anc_threshold = NA, plt_threshold = NA, hb_threshold = NA )
input_files_path |
path to a file or a folder with MT csv files (in quotes). |
anc_threshold |
Absolute neutrophil count (ANC) value threshold below which doses should be stopped. NOTE: Ensure that the threshold value is represented with same unit as of the input ANC data. |
plt_threshold |
Platelet (PLT) value threshold below which doses should be stopped. NOTE: Ensure that the threshold value is represented with same unit as of the input PLT data. |
hb_threshold |
Hemoglobin (HB) value threshold below which doses should be stopped. NOTE: Ensure that the threshold value is represented with same unit as of the input Hb data. |
Returns a list with (1) the 'STOP DOSE' analysis for each patient as listed below, (2) analysis summary as dataframe (3) analysis summary as HTML table in viewer.
Pat ID
Number of decisions where the physician stopped dose (a)
Number of times blood counts did not support dose suspension (b)
Discordance (%) = (
Atleast one of the threshold parameters (anc_threshold, plt_threshold, hb_threshold) must be provided to carry out analysis. Missing threshold parameter will not be considered.
If the function is used for cohort analysis then a and b will be represented as median and interquartile range (IQR) (25%-75%). The median and IQR is rounded off to upper integer value if decimal value is greater or equal to 0.5, else to lower integer value Example 1.4->1 and 3.75->4
User may save the result as a list, if required, to analyze each patient separately - use 1st element of list. Please refer to examples from assess_anemia
assess_reduced_doses()
, assess_increased_doses()
pat_data <- system.file("extdata/processed_data/", "UPN_915.csv", package = "allMT") assess_stop_doses(input_files_path = pat_data, anc_threshold = 0.5, plt_threshold = 50, hb_threshold = 7) assess_stop_doses(input_files_path = pat_data, anc_threshold = 0.5) cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") assess_stop_doses(input_files_path = cohort_path, anc_threshold = 0.5,plt_threshold = 50, hb_threshold = 7)
pat_data <- system.file("extdata/processed_data/", "UPN_915.csv", package = "allMT") assess_stop_doses(input_files_path = pat_data, anc_threshold = 0.5, plt_threshold = 50, hb_threshold = 7) assess_stop_doses(input_files_path = pat_data, anc_threshold = 0.5) cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") assess_stop_doses(input_files_path = cohort_path, anc_threshold = 0.5,plt_threshold = 50, hb_threshold = 7)
Evaluate number of thrombocytopenia episodes and their duration for a given patient or cohort
assess_thrombocytopenia(input_files_path, plt_range, duration_plt = NA)
assess_thrombocytopenia(input_files_path, plt_range, duration_plt = NA)
input_files_path |
path to a file or a folder with MT csv files (in quotes). |
plt_range |
Platelet (PLT) value range of c(thrombocytopenic PLT threshold, recovered PLT threshold). NOTE: Ensure that units are the same as unit of PLT in the input data. |
duration_plt |
numeric duration (in weeks) that is used to categorize event as "long duration thrombocytopenia" (optional) |
Returns a list with (1) the thrombocytopenia information for each patient as listed below, (2) analysis summary as dataframe (3) analysis summary as HTML table.
Pat ID
Number of particular toxicity episodes
Duration of particular toxicity (in weeks)
Number of long duration toxicity episodes
Duration of long duration toxicity (in weeks)
If the function is used for cohort analysis then values are represented as median and interquartile range (IQR) (25%-75%). The median and IQR is rounded off to upper integer value if decimal value is greater or equal to 0.5, else to lower integer value. Example 1.4->1 and 3.75->4
Long duration toxicity is only analyzed if "duration_plt" is included in provided arguments
User may save the result as a list, if required, to analyze each patient thrombocytopenia analysis by analyzing 1st element of list
assess_neutropenia()
, assess_anemia()
pat_data = system.file("extdata/processed_data/", "UPN_914.csv", package = "allMT") assess_thrombocytopenia(input_files_path = pat_data, plt_range = c(50, 75), duration_plt = 3) cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") assess_thrombocytopenia(input_files_path = cohort_path, plt_range = c(50, 75), duration_plt = 3) result <- assess_thrombocytopenia(input_files_path = pat_data, plt_range = c(0.5, 0.75), duration_plt = 3) print(result[[1]]) print(result[[2]]) print(result[[3]])
pat_data = system.file("extdata/processed_data/", "UPN_914.csv", package = "allMT") assess_thrombocytopenia(input_files_path = pat_data, plt_range = c(50, 75), duration_plt = 3) cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") assess_thrombocytopenia(input_files_path = cohort_path, plt_range = c(50, 75), duration_plt = 3) result <- assess_thrombocytopenia(input_files_path = pat_data, plt_range = c(0.5, 0.75), duration_plt = 3) print(result[[1]]) print(result[[2]]) print(result[[3]])
Create an integrated summary graph facetted (by cohort). Graph illustrates weighted mean absolute neutrophil count (ANC) and dose information for each patient.
compare_cohorts( input_files_path, unit, anc_range, dose_intensity_threshold, method, intervention_date, group_data_path )
compare_cohorts( input_files_path, unit, anc_range, dose_intensity_threshold, method, intervention_date, group_data_path )
input_files_path |
Path to folder with MT csv files (in quotes) |
unit |
Choose either "million" or "billion".
|
anc_range |
Vector with lower and upper thresholds of absolute neutrophil count target range: (c(lower threshold, upper threshold))
|
dose_intensity_threshold |
numeric value of reference drug dose intensity (%). |
method |
Choose from "M1" or "M2".
|
intervention_date |
Only applicable if method = "M1". Provide date in yyyy-mm-dd format (in quotes) |
group_data_path |
Only applicable for method = "M2". Path to EXCEL FILE containing "group" information. Ensure "ID" and "Group" columns are present. |
Comparative summary graph
If more than one chort need to be compared then only "M2" method is applicable
cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") compare_cohorts(input_files_path = cohort_path, method = "M1", intervention_date = "2020-12-01", unit = "billion", anc_range = c(0.75, 1.5), dose_intensity_threshold = 100) group_path = system.file("extdata/grouped_data/group_data.xlsx", package = "allMT") compare_cohorts(input_files_path = cohort_path, method = "M2", group_data_path = group_path, unit = "billion", anc_range = c(0.75, 1.5), dose_intensity_threshold = 80)
cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") compare_cohorts(input_files_path = cohort_path, method = "M1", intervention_date = "2020-12-01", unit = "billion", anc_range = c(0.75, 1.5), dose_intensity_threshold = 100) group_path = system.file("extdata/grouped_data/group_data.xlsx", package = "allMT") compare_cohorts(input_files_path = cohort_path, method = "M2", group_data_path = group_path, unit = "billion", anc_range = c(0.75, 1.5), dose_intensity_threshold = 80)
Convert a maintenance therapy excel sheet created by user into a standard format for analysis
convert_external_format( inputpath_to_excelfolder, exportpath_to_csvfolder, pat_data_file_path, daily_mp_dose = 60, weekly_mtx_dose = 20 )
convert_external_format( inputpath_to_excelfolder, exportpath_to_csvfolder, pat_data_file_path, daily_mp_dose = 60, weekly_mtx_dose = 20 )
inputpath_to_excelfolder |
Path to folder containing input excel files (in quotes) |
exportpath_to_csvfolder |
Path to folder in which to save final output csv files (in quotes) |
pat_data_file_path |
Path to excel file with patient IDs and corresponding BSA (body surface area) values. Column names - "ID", "BSA". |
daily_mp_dose |
numeric value of DAILY 6-Mercaptopurine dose per |
weekly_mtx_dose |
numeric value of WEEKLY absolute Methotrexate dose per |
Folder with converted csv files
If MT excel files are missing in the input folder for any patient IDs provided in the pat_data_file ID column, the function will show a message of missing IDs but will continue to convert the available files.
# As per ICiCLe-ALL-14 protocol (Reference PMID - 35101099): path_to_excel = paste0(system.file("extdata/external_data/", package = "allMT"), "/") save_path = paste0(tempdir(),"/") path_to_bsa = system.file("extdata/external_data/", "BSA.xlsx", package = "allMT") convert_external_format(inputpath_to_excelfolder = path_to_excel, exportpath_to_csvfolder = save_path, pat_data_file_path = path_to_bsa, daily_mp_dose = 60, weekly_mtx_dose = 20) # As per ICiCLe-ALL-14 protocol (Reference PMID - 35101099): convert_external_format(inputpath_to_excelfolder = "../csv_trial/", exportpath_to_csvfolder = save_path, pat_data_file_path = "BSAFile.xlsx") # As per BFM protocol (Reference PMID - 15902295): convert_external_format(inputpath_to_excelfolder = "../csv_trial/", exportpath_to_csvfolder = save_path, pat_data_file_path = "BSAFile.xlsx", daily_mp_dose = 50, weekly_mtx_dose = 20) # As per St Jude protocol (Reference PMID - 15902295): convert_external_format(inputpath_to_excelfolder = "../csv_trial/", exportpath_to_csvfolder = save_path, pat_data_file_path = "BSAFile.xlsx", daily_mp_dose = 75, weekly_mtx_dose = 40)
# As per ICiCLe-ALL-14 protocol (Reference PMID - 35101099): path_to_excel = paste0(system.file("extdata/external_data/", package = "allMT"), "/") save_path = paste0(tempdir(),"/") path_to_bsa = system.file("extdata/external_data/", "BSA.xlsx", package = "allMT") convert_external_format(inputpath_to_excelfolder = path_to_excel, exportpath_to_csvfolder = save_path, pat_data_file_path = path_to_bsa, daily_mp_dose = 60, weekly_mtx_dose = 20) # As per ICiCLe-ALL-14 protocol (Reference PMID - 35101099): convert_external_format(inputpath_to_excelfolder = "../csv_trial/", exportpath_to_csvfolder = save_path, pat_data_file_path = "BSAFile.xlsx") # As per BFM protocol (Reference PMID - 15902295): convert_external_format(inputpath_to_excelfolder = "../csv_trial/", exportpath_to_csvfolder = save_path, pat_data_file_path = "BSAFile.xlsx", daily_mp_dose = 50, weekly_mtx_dose = 20) # As per St Jude protocol (Reference PMID - 15902295): convert_external_format(inputpath_to_excelfolder = "../csv_trial/", exportpath_to_csvfolder = save_path, pat_data_file_path = "BSAFile.xlsx", daily_mp_dose = 75, weekly_mtx_dose = 40)
Convert a Tata Medical Center Kolkata India (TMC) based excel workbook into a standard format for analysis
Convert a maintenance therapy excel workbook (with individual sheets per cycle) into a single csv file with longitudinal data of blood count parameters, absolute doses and dose intensities of administered drugs.
convert_tmc_format( inputpath_to_excelfolder, exportpath_to_csvfolder, daily_mp_dose = 60, weekly_mtx_dose = 20 )
convert_tmc_format( inputpath_to_excelfolder, exportpath_to_csvfolder, daily_mp_dose = 60, weekly_mtx_dose = 20 )
inputpath_to_excelfolder |
Path to folder containing input excel files (in quotes) |
exportpath_to_csvfolder |
Path to folder in which to save final output csv files (in quotes) |
daily_mp_dose |
numeric value of DAILY 6-Mercaptopurine dose per |
weekly_mtx_dose |
numeric value of WEEKLY absolute Methotrexate dose per |
Folder with converted csv files
# As per ICiCLe-ALL-14 protocol (Reference PMID - 35101099): path_to_excel = paste0(system.file("extdata/tmc_data/", package = "allMT"), "/") save_path = paste0(tempdir(),"/") convert_tmc_format(inputpath_to_excelfolder = path_to_excel, exportpath_to_csvfolder = save_path, daily_mp_dose = 60, weekly_mtx_dose = 20) # As per ICiCLe-ALL-14 protocol (Reference PMID - 35101099): convert_tmc_format(inputpath_to_excelfolder = path_to_excel, exportpath_to_csvfolder = save_path) # As per BFM protocol (Reference PMID - 15902295): convert_tmc_format(inputpath_to_excelfolder = path_to_excel, exportpath_to_csvfolder = save_path, daily_mp_dose = 50, weekly_mtx_dose = 20) # As per St Jude protocol (Reference PMID - 15902295): convert_tmc_format(inputpath_to_excelfolder = path_to_excel, exportpath_to_csvfolder = save_path, daily_mp_dose = 75, weekly_mtx_dose = 40)
# As per ICiCLe-ALL-14 protocol (Reference PMID - 35101099): path_to_excel = paste0(system.file("extdata/tmc_data/", package = "allMT"), "/") save_path = paste0(tempdir(),"/") convert_tmc_format(inputpath_to_excelfolder = path_to_excel, exportpath_to_csvfolder = save_path, daily_mp_dose = 60, weekly_mtx_dose = 20) # As per ICiCLe-ALL-14 protocol (Reference PMID - 35101099): convert_tmc_format(inputpath_to_excelfolder = path_to_excel, exportpath_to_csvfolder = save_path) # As per BFM protocol (Reference PMID - 15902295): convert_tmc_format(inputpath_to_excelfolder = path_to_excel, exportpath_to_csvfolder = save_path, daily_mp_dose = 50, weekly_mtx_dose = 20) # As per St Jude protocol (Reference PMID - 15902295): convert_tmc_format(inputpath_to_excelfolder = path_to_excel, exportpath_to_csvfolder = save_path, daily_mp_dose = 75, weekly_mtx_dose = 40)
Creates a line graph (trends) for absolute neutrophil count (ANC), 6-Mercaptopurine (6MP) and Methotrexate (MTX) doses across all visits for the given patient
plot_progression(input_file_path, anc_range, unit)
plot_progression(input_file_path, anc_range, unit)
input_file_path |
Path to input csv file for the patient (in quotes) |
anc_range |
ANC target range as per the protocol: (c(lower threshold, upper threshold)). NOTE: Ensure that units are the same as unit of ANC in the input data. |
unit |
Choose either "million" or "billion".
|
plot image
If there is only one threshold for anc_range parameter, please specify the respective value and keep the other threshold as NA. eg : c(2000, NA)
Horizontal dotted lines on the graph indicate anc_range thresholds and starting doses for 6MP and MTX as a reference (colour coded to corresponding parameter)
pat_data = system.file("extdata/processed_data/", "UPN_915.csv", package = "allMT") plot_progression(input_file_path = pat_data, anc_range = c(0.75,1.5), unit = "billion") # As per BFM protocol (Reference PMID - 15902295): plot_progression(input_file_path = "../UPN1.csv", anc_range = c(2, NA), unit = "billion") # As per St Jude protocol (Reference PMID - 15902295): plot_progression(input_file_path = "../../UPN1.csv", anc_range = c(0.3, 1), unit = "billion")
pat_data = system.file("extdata/processed_data/", "UPN_915.csv", package = "allMT") plot_progression(input_file_path = pat_data, anc_range = c(0.75,1.5), unit = "billion") # As per BFM protocol (Reference PMID - 15902295): plot_progression(input_file_path = "../UPN1.csv", anc_range = c(2, NA), unit = "billion") # As per St Jude protocol (Reference PMID - 15902295): plot_progression(input_file_path = "../../UPN1.csv", anc_range = c(0.3, 1), unit = "billion")
Create an integrated summary graph illustrating weighted mean absolute neutrophil count (ANC) and dose information for each patient in the cohort.
summarize_cohortMT(input_files_path, anc_range, unit, dose_intensity_threshold)
summarize_cohortMT(input_files_path, anc_range, unit, dose_intensity_threshold)
input_files_path |
Path to folder with MT csv files (in quotes) |
anc_range |
ANC target range as per the protocol: (c(lower threshold, upper threshold)). NOTE: Ensure that units are the same as unit of ANC in the input data. |
unit |
Choose either "million" or "billion".
|
dose_intensity_threshold |
numeric value of reference drug dose intensity (%). (optional) |
Summary graph
If there is only one threshold for anc_range or dose_intensity_range parameters, please specify the respective value and keep the other threshold as NA. eg : c(2000, NA), c(100, NA)
Horizontal dotted lines on the graph indicate anc_range thresholds.Red dot represents summarized overall MT data.
cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") summarize_cohortMT (input_files_path = cohort_path, unit = "billion", anc_range = c(0.75, 1.5), dose_intensity_threshold = c(80, 100)) summarize_cohortMT(input_files_path = cohort_path, unit = "billion", anc_range = c(0.8, 2), dose_intensity_threshold = 150) # As per BFM protocol (Reference PMID - 15902295): summarize_cohortMT (input_files_path = cohort_path, unit = "billion", anc_range = c(2, NA), dose_intensity_threshold = 150) # As per St Jude protocol (Reference PMID - 15902295): summarize_cohortMT (input_files_path = cohort_path, unit = "billion", anc_range = c(0.8, 2), dose_intensity_threshold = 100)
cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") summarize_cohortMT (input_files_path = cohort_path, unit = "billion", anc_range = c(0.75, 1.5), dose_intensity_threshold = c(80, 100)) summarize_cohortMT(input_files_path = cohort_path, unit = "billion", anc_range = c(0.8, 2), dose_intensity_threshold = 150) # As per BFM protocol (Reference PMID - 15902295): summarize_cohortMT (input_files_path = cohort_path, unit = "billion", anc_range = c(2, NA), dose_intensity_threshold = 150) # As per St Jude protocol (Reference PMID - 15902295): summarize_cohortMT (input_files_path = cohort_path, unit = "billion", anc_range = c(0.8, 2), dose_intensity_threshold = 100)
Create summary graph with maintenance therapy data. Weighted mean absolute neutrophil count (ANC) and dose information is calculated and plotted for each cycle.
summarize_cycle_progression(input_file_path, anc_range, unit)
summarize_cycle_progression(input_file_path, anc_range, unit)
input_file_path |
Path to input csv file for the patient (in quotes) |
anc_range |
ANC target range as per the protocol: (c(lower threshold, upper threshold)). NOTE: Ensure that units are the same as unit of ANC in the input data. |
unit |
Choose either "million" or "billion".
|
Plot image
If there is only one threshold for anc_range parameter, please specify the respective value and keep the other threshold as NA. eg : c(2000, NA)
Horizontal dotted lines on the graph indicate anc_range thresholds.Red dot represents summarized overall MT data.
pat_data = system.file("extdata/processed_data/", "UPN_916.csv", package = "allMT") summarize_cycle_progression(input_file_path = pat_data, anc_range = c(0.75, 1.5), unit = "billion") summarize_cycle_progression(input_file_path = pat_data, anc_range = c(0.8, 2), unit = "billion") # As per BFM protocol (Reference PMID - 15902295): summarize_cycle_progression(input_file_path = pat_data, anc_range = c(2, NA), unit = "billion") # As per St Jude protocol (Reference PMID - 15902295): summarize_cycle_progression(input_file_path = pat_data, anc_range = c(0.8, 2), unit = "billion")
pat_data = system.file("extdata/processed_data/", "UPN_916.csv", package = "allMT") summarize_cycle_progression(input_file_path = pat_data, anc_range = c(0.75, 1.5), unit = "billion") summarize_cycle_progression(input_file_path = pat_data, anc_range = c(0.8, 2), unit = "billion") # As per BFM protocol (Reference PMID - 15902295): summarize_cycle_progression(input_file_path = pat_data, anc_range = c(2, NA), unit = "billion") # As per St Jude protocol (Reference PMID - 15902295): summarize_cycle_progression(input_file_path = pat_data, anc_range = c(0.8, 2), unit = "billion")
Evaluate median time (in weeks) to first 6MP dose increase for the cohort using Kaplan-Meier cumulative incidence estimator using ggsurvplot package
time_to_first_dose_increase(input_files_path, escalation_factor)
time_to_first_dose_increase(input_files_path, escalation_factor)
input_files_path |
Path to folder with MT csv files (in quotes) |
escalation_factor |
Percentage of increase from first dose to be considered as an "increased" dose. |
Median time (in weeks) to first 6MP dose increase plot
cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") time_to_first_dose_increase(input_files_path = cohort_path, escalation_factor = 10)
cohort_path = paste0(system.file("extdata/processed_data/", package = "allMT"), "/") time_to_first_dose_increase(input_files_path = cohort_path, escalation_factor = 10)
Data for the patient consists of a dataframe
that is used for viewing data
UPN_914
UPN_914
A dataframe
with 10 columns
Cycle: 96 weeks of maintenance therapy (MT) is divided into 8 cycles. The column represents the cycles number for the patient with new assessment
Date: Patient's new assessment date when doses were prescribed
Weeks: MT consist of 96 weeks. Column represent week number for new assessment
ANC: Absolute neutrophil count (ANC) values for new assessment
PLT: Platelet count (PLT) values for new assessment
Hb: Hemoglobin (Hb) values for new assessment
MP: 6-mercaptopurine (MP or 6MP) doses for new assessment
MTX: Methotraxate (MTX) doses for new assessment
MP_adj: MP dose intensity (%). See note for dose intensity calculation
MTX_adj: MTX dose intensity (%). See note for dose intensity calculation
For running examples you need to read the patient data as csv. The data (rda) is for viewing only
Dose intensity (%) = ; where a = MP dose prescribed on new assessment and b = Protocol based MP dose adjusted to patient's body surface area
Data for the patient consists of a dataframe
that is used for viewing data
UPN_915
UPN_915
A dataframe
with 10 columns
Cycle: 96 weeks of maintenance therapy (MT) is divided into 8 cycles. The column represents the cycles number for the patient with new assessment
Date: Patient's new assessment date when doses were prescribed
Weeks: MT consist of 96 weeks. Column represent week number for new assessment
ANC: Absolute neutrophil count (ANC) values for new assessment
PLT: Platelet count (PLT) values for new assessment
Hb: Hemoglobin (Hb) values for new assessment
MP: 6-mercaptopurine (MP or 6MP) doses for new assessment
MTX: Methotraxate (MTX) doses for new assessment
MP_adj: MP dose intensity (%). See note for dose intensity calculation
MTX_adj: MTX dose intensity (%). See note for dose intensity calculation
For running examples you need to read the patient data as csv. The data (rda) is for viewing only
Dose intensity (%) = ; where a = MP dose prescribed on new assessment and b = Protocol based MP dose adjusted to patient's body surface area
Data for the patient consists of a dataframe
that is used for viewing data
UPN_916
UPN_916
A dataframe
with 10 columns
Cycle: 96 weeks of maintenance therapy (MT) is divided into 8 cycles. The column represents the cycles number for the patient with new assessment
Date: Patient's new assessment date when doses were prescribed
Weeks: MT consist of 96 weeks. Column represent week number for new assessment
ANC: Absolute neutrophil count (ANC) values for new assessment
PLT: Platelet count (PLT) values for new assessment
Hb: Hemoglobin (Hb) values for new assessment
MP: 6-mercaptopurine (MP or 6MP) doses for new assessment
MTX: Methotraxate (MTX) doses for new assessment
MP_adj: MP dose intensity (%). See note for dose intensity calculation
MTX_adj: MTX dose intensity (%). See note for dose intensity calculation
For running examples you need to read the patient data as csv. The data (rda) is for viewing only
Dose intensity (%) = ; where a = MP dose prescribed on new assessment and b = Protocol based MP dose adjusted to patient's body surface area