knitr::opts_chunk$set(echo = TRUE, collapse = TRUE)
QcDM is an R package developed for generating glucometrics measures from point-of-care blood glucose data at three different units of analysis: patient-sample, patient-day, and patient-stay. This package is distributed under the MIT license.
This package is a part of the QcDM Project, which provides a user-friendly R-Shiny user interface for convenient and flexible data processing, and generates a detailed and well-formatted report on the glucometrics measurements.
Users are strongly recommended to use QcDM via the R-Shiny interface. Sections below describes the installation of the package and its basic usage.
Package devtools is needed to install the QcDM package from Github:
# First, install devtools if it is not already installed: install.packages("devtools") # Then, load devtools to install QcDM from Github: library(devtools) install_github("nyilin/QcDM")
Ying Chen, Yilin Ning, Prem Thomas, Mark Salloway, Maudrene Luor Shyuan Tan, E-Shyong Tai, Shih Ling Kao, Chuen Seng Tan, An open source tool to compute measures of inpatient glycemic control: translating from healthcare analytics research to clinical quality improvement, JAMIA Open, Volume 4, Issue 2, April 2021, ooab033, https://doi.org/10.1093/jamiaopen/ooab033
The QcDM package includes a simulated example data to illustrate its basic usage, which was generated for 4 hypothetical ward locations (indicated by letters A to D) in July 2020. The following is a preview of the first 5 rows of the example data:
library(QcDM) data("gluDat") head(gluDat, 5)
The unit of measurement of glucose readings in the example data is mmol/L. To illustrate how the software program developed in the QcDM Project handles non-numerical values, three entries had non-numerical values:
gluDat[is.na(as.numeric(gluDat$RESULT)), ]
Before generating glucometrics measurements, first process the date-time stamps
of glucose readings, and identify glucose monitoring episodes based on the
admission information in ADMISSION.ID
. In this example, we focus on ward A.
gluDat2 <- FormatDate(dat = gluDat[gluDat$LOCATION == "A", ], yy = 2020, mm = 7) gluDat3 <- GenEpisode(dat = gluDat2, epiMethod = "Admininfo")
Then, generate basic glucometrics measurements using the following cutoffs as an example:
metricList <- GenGluM(dat = gluDat3, hypocutoffs = c(4, 3, 2.5), hypercutoffs = c(14, 20, 24), normalrange = c(4, 10), hgicutoff = 10, unitVal = 1) knitr::kable(ProGluTable(metricList = metricList, unitVal = 1)[[1]])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.