Nothing
source('utilities.R')
library(medicalcoder)
################################################################################
# Verify the summary table output for pccc_v3.0 with flag.method = current is as expected
rtn <- comorbidities(data = mdcr, id.vars = "patid", icd.codes = "code", poa = 1, flag.method = 'current', method = "pccc_v3.0")
rtn <- summary(rtn)
stopifnot(
inherits(rtn, "data.frame"),
identical(
names(rtn),
c("condition", "label",
"dxpr_or_tech_count", "dxpr_or_tech_percent",
"dxpr_only_count", "dxpr_only_percent",
"tech_only_count", "tech_only_percent",
"dxpr_and_tech_count", "dxpr_and_tech_percent")
),
is.character(rtn[["condition"]]),
is.character(rtn[["label"]]),
is.integer(rtn[["dxpr_or_tech_count"]]),
is.numeric(rtn[["dxpr_or_tech_percent"]]),
is.integer(rtn[["dxpr_only_count"]]),
is.numeric(rtn[["dxpr_only_percent"]]),
is.integer(rtn[["tech_only_count"]]),
is.numeric(rtn[["tech_only_percent"]]),
is.integer(rtn[["dxpr_and_tech_count"]]),
is.numeric(rtn[["dxpr_and_tech_percent"]])
)
################################################################################
# Verify the summary table output for pccc_v3.0 with flag.method = cumulative is as expected
cmb <- comorbidities(data = mdcr_longitudinal, id.vars = c("patid", "date"), icd.codes = "code", poa = 1, flag.method = 'cumulative', method = "pccc_v3.0")
rtn <- tryCatchWarning(summary(cmb))
stopifnot(inherits(rtn, "warning"))
rtn <- suppressWarnings(summary(cmb))
stopifnot(
inherits(rtn, "data.frame"),
identical(
names(rtn),
c("condition", "label",
"dxpr_or_tech_count", "dxpr_or_tech_percent",
"dxpr_only_count", "dxpr_only_percent",
"tech_only_count", "tech_only_percent",
"dxpr_and_tech_count", "dxpr_and_tech_percent")
),
is.character(rtn[["condition"]]),
is.character(rtn[["label"]]),
is.integer(rtn[["dxpr_or_tech_count"]]),
is.numeric(rtn[["dxpr_or_tech_percent"]]),
is.integer(rtn[["dxpr_only_count"]]),
is.numeric(rtn[["dxpr_only_percent"]]),
is.integer(rtn[["tech_only_count"]]),
is.numeric(rtn[["tech_only_percent"]]),
is.integer(rtn[["dxpr_and_tech_count"]]),
is.numeric(rtn[["dxpr_and_tech_percent"]])
)
################################################################################
# Verify the summary table output for pccc_v3.1 is as expected
rtn <- comorbidities(data = mdcr, id.vars = "patid", icd.codes = "code", poa = 1, flag.method = 'current', method = "pccc_v3.1")
rtn <- summary(rtn)
stopifnot(
inherits(rtn, "data.frame"),
identical(
names(rtn),
c("condition", "label",
"dxpr_or_tech_count", "dxpr_or_tech_percent",
"dxpr_only_count", "dxpr_only_percent",
"tech_only_count", "tech_only_percent",
"dxpr_and_tech_count", "dxpr_and_tech_percent")
),
is.character(rtn[["condition"]]),
is.character(rtn[["label"]]),
is.integer(rtn[["dxpr_or_tech_count"]]),
is.numeric(rtn[["dxpr_or_tech_percent"]]),
is.integer(rtn[["dxpr_only_count"]]),
is.numeric(rtn[["dxpr_only_percent"]]),
is.integer(rtn[["tech_only_count"]]),
is.numeric(rtn[["tech_only_percent"]]),
is.integer(rtn[["dxpr_and_tech_count"]]),
is.numeric(rtn[["dxpr_and_tech_percent"]])
)
################################################################################
# PCCC Version 2.0
rtn <- comorbidities(data = mdcr, id.vars = "patid", icd.codes = "code", poa = 1, flag.method = 'current', method = "pccc_v2.0")
rtn <- summary(rtn)
stopifnot(
inherits(rtn, "data.frame"),
identical(
names(rtn),
c("condition", "label", "count", "percent")
),
is.character(rtn[["condition"]]),
is.character(rtn[["label"]]),
is.integer(rtn[["count"]]),
is.numeric(rtn[["percent"]])
)
################################################################################
# PCCC Version 2.1
rtn <- comorbidities(data = mdcr, id.vars = "patid", icd.codes = "code", poa = 1, flag.method = 'current', method = "pccc_v2.1")
rtn <- summary(rtn)
stopifnot(
inherits(rtn, "data.frame"),
identical(
names(rtn),
c("condition", "label", "count", "percent")
),
is.character(rtn[["condition"]]),
is.character(rtn[["label"]]),
is.integer(rtn[["count"]]),
is.numeric(rtn[["percent"]])
)
################################################################################
# PCCC Version 2.1 with flag.method = "cumulative"
cmb <- comorbidities(data = mdcr_longitudinal, id.vars = c("patid", "date"), icd.codes = "code", poa = 1, flag.method = 'cumulative', method = "pccc_v2.1")
rtn <- tryCatchWarning(summary(cmb))
stopifnot(inherits(rtn, "warning"))
rtn <- suppressWarnings(summary(cmb))
stopifnot(
inherits(rtn, "data.frame"),
identical(
names(rtn),
c("condition", "label", "count", "percent")
),
is.character(rtn[["condition"]]),
is.character(rtn[["label"]]),
is.integer(rtn[["count"]]),
is.numeric(rtn[["percent"]])
)
################################################################################
# Zero-row input should summarize without NaN/Inf (v2.1)
pccc_zero <- comorbidities(
data = mdcr[0, ],
id.vars = "patid",
icd.codes = "code",
poa = 1,
flag.method = "current",
method = "pccc_v2.1"
)
summary_zero <- summary(pccc_zero)
stopifnot(
inherits(summary_zero, "data.frame"),
all(identical(summary_zero$count, c(rep(0L, 24)))),
!any(is.nan(summary_zero$percent)),
all(is.na(summary_zero$percent))
)
################################################################################
# Zero-row input should summarize without NaN/Inf (v3.1)
pccc_zero <- comorbidities(
data = mdcr[0, ],
id.vars = "patid",
icd.codes = "code",
poa = 1,
flag.method = "current",
method = "pccc_v3.1"
)
summary_zero <- summary(pccc_zero)
stopifnot(
inherits(summary_zero, "data.frame"),
all(identical(summary_zero$dxpr_or_tech_count, c(rep(0L, 24)))),
all(identical(summary_zero$dxpr_only_count, c(rep(0L, 11), rep(NA_integer_, 13)))),
all(identical(summary_zero$tech_only_count, c(rep(0L, 11), rep(NA_integer_, 13)))),
all(identical(summary_zero$dxpr_and_tech_count, c(rep(0L, 11), rep(NA_integer_, 13)))),
!any(is.nan(summary_zero$dxpr_or_tech_percent)),
!any(is.nan(summary_zero$dxpr_only_percent)),
!any(is.nan(summary_zero$tech_only_percent)),
!any(is.nan(summary_zero$dxpr_and_tech_percent))
)
################################################################################
# End of File #
################################################################################
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.