Scoring Tools for Urology and Pelvic Health Research Instruments

Scores standardized patient-reported instruments used in urology and pelvic health research, including the International Prostate Symptom Score (Barry et al., 1992), the Overactive Bladder Symptom Score (Homma et al., 2006) , the O'Leary-Sant interstitial cystitis indices, the short forms of the Urogenital Distress Inventory and the Incontinence Impact Questionnaire (Uebersax et al., 1995) , the Sandvik incontinence severity index, and the Benign Prostatic Hyperplasia Impact Index. Instruments are declarative definitions read by a single scoring engine. Responses are checked against the permitted value set of each item, missing items follow the published rule for the instrument or return NA when none was published, severity bands are assigned by membership, and published minimal important difference statistics are included for responder analyses.


uroscores

Scoring functions for questionnaires used in urology and pelvic health research: the IPSS, OABSS, the O'Leary-Sant indices (ICSI/ICPI), UDI-6, IIQ-7, the Sandvik incontinence severity index (1993 and 2000 versions), and the BPH Impact Index. Published minimal important difference data for responder analyses are included.

Most research groups score these by hand in a spreadsheet. Two things go wrong there: out-of-range values slip through silently, and missing items get handled ad hoc. This package was built around preventing both.

How it works:

  • An instrument is a data structure, not a function. The definition holds the items, the permitted value of every response, subscales, severity bands, the missing-item rule, and the references. One engine, score_instrument(), reads it; score_ipss() is a thin wrapper. Adding an instrument means writing a definition, not another scoring function.
  • Every rule was checked against the primary source publication before its definition was marked validated, and the test suite recomputes the published rules by hand. A definition that has not been validated warns on every use. Details matter here: the ICSI bladder-pain item accepts 0, 2, 3, 4, 5 and rejects 1, because that is how the instrument was published.
  • Missing items follow the published rule where one exists. UDI-6 and IIQ-7 have one (mean of answered items, at most 2 missing) and it is applied with the published threshold. The IPSS has none, so a missing item makes the total NA, and asking for proration is an error rather than a guess.
  • Severity is assigned by band membership. The Sandvik bands skip values (3-6, then 8-9), so a score between bands returns NA with a warning instead of a made-up label.
  • There is no default MID anywhere. mid_estimates() lists the published anchor-based statistics with the anchor, subgroup, and citation on every row, and responder() requires you to pick a threshold yourself.

Installation

# install.packages("pak")
pak::pak("faizamirullah/uroscores")

Example

library(uroscores)
list_instruments()

d <- data.frame(
  ipss_q1 = c(1, 3), ipss_q2 = c(2, 4), ipss_q3 = c(3, 5),
  ipss_q4 = c(0, 2), ipss_q5 = c(4, 5), ipss_q6 = c(5, 3),
  ipss_q7 = c(2, 4), qol = c(3, 5)
)
score_ipss(d, qol = "qol", classify = TRUE)

# Responder analysis with a threshold you choose:
mid_estimates("ipss")
responder(baseline = c(20, 12), followup = c(14, 11), "ipss", threshold = 3)

Status

First release. The nine built-in definitions (ipss, oabss, icsi, icpi, udi6, iiq7, isi, isi3, bii) have been checked against their primary source publications. This package computes research scores; it is not a clinical decision tool.

Related work

Clinical scoring packages exist for other domains (PROscorer, RiskScorescvd, HealthMarkers, amscorer); none covers urology or pelvic health instruments.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("uroscores")

0.1.0 by Muhammad Faiz Amirullah Nurhadi, a month ago


https://github.com/faizamirullah/uroscores


Report a bug at https://github.com/faizamirullah/uroscores/issues


Browse source code at https://github.com/cran/uroscores


Authors: Muhammad Faiz Amirullah Nurhadi [aut, cre]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports utils

Suggests knitr, rmarkdown, testthat


See at CRAN