knitr::opts_chunk$set(echo = TRUE, collapse = TRUE)

QcDM: Quality care for Diabetes Mellitus

Overview

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.

Installation

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")

Citation

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

Basic usage

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]])


nyilin/QcDM documentation built on June 29, 2021, 1:14 a.m.