Data Quality Checks for Study Data Tabulation Model (SDTM) Datasets
Check for patients with more than one study discontinuation records
Check for missing EXDOSU records
Check for EX records where EXTRT is missing
Check if 4m BCVA test stops too late, too early and has correct total
Check if 1m BCVA test is completed per BCVA 4m result
Check if start dates are duplicated or earlier than prior visit date
Fail object
Check if data frame has all specified variables
Check if data frame has at least one of the specified variables
Check if data frame is missing any of the specified variables
Check if data frame has at least one variable from a set of specified ...
Add day of "01" to dates that are in the format of "yyyy-mm"
Check if the elements could be of any SAS missing data variant
Check data frame for mandatory variables and specify which are missing...
Function to check if month is missing while year and day are non-missi...
Pass object
Check for COVID-19 AE with DRUG WITHDRAWN action without "ADVERSE EVEN...
Check if, whenever a patient experiences an AE leading to study discon...
Check for COVID-19 AE leading to Study Discon without DS Study Discon
Check for null AEACNOT1/2 when AEACNOTH = 'MULTIPLE'
Check for missing AEDECOD values
Check AEs with AEDTHDTC value but AESDTH not "Y"
Check for missing AEDTHDTC where DS indicates death due to AE
Check if AESOC has Eye, and Affected Eye is missing
Check that all AE start dates are on or before AE end dates
Check for AE outcome (AEOUT) of 'FATAL' with non-missing resolution da...
Check for non-fatal AEs with inconsistent AEOUT and AEENDTC
Check for inconsistency between AE outcome (AEOUT) and death date (AED...
Check for AEREL1 - AERELN when AEREL is missing and when AEREL is unex...
Check AEs with AESDTH of "Y" but No AEDTHDTC Value
Check for AE dates occurring after death date
Check for missing AETOXGR and/or AESEV values
Check if death in AE then there should be a study discon form
Check for Grade 5 AE death variable consistency
Check for partial death dates in AE and DS
Check for duplicate AE entries
Check for death variable consistency when AEOUT=="FATAL"
Check if an AE leading to drug being withdrawn is reflected in DS
Check for clinical events dates with year and day known but month unkn...
Check for missing CMDECOD values
Check for concomitant medication indication with text string "PROPHYL"...
Check if ocular concomitant medication has laterality missing for spec...
Check if ocular concomitant medication has laterality missing or later...
Check for conmed dates with year and day known but month unknown
Check if death date is the same in AE and DS domains
Check if there is a death date and AEOUT='FATAL' agreement
Check if patient with Death due to AE also has Death record in DS
Check DM where ARM is not equal to ACTARM
Check if death reported in DM then death indicator also present in DS ...
Check for patients with suspicious age values
Check for missing ARM or ARMCD values in DM
Check that when DM.DTHFL is Y, DM.DTHDTC does not have a missing value...
Check patients in the DM dataset who do not have records in the AE dat...
Check duplicate patient records in DM based on USUBJID
Check for treatment discontinuation consistency between DS and AE
Check for study discontinuation record if death indicated
Check DS with death record but no death date
Check missing cause of death information in DS
Check for duplicate randomization records for a patient
Check for patients who had Start/End date of treatment after study dis...
Check DS with multiple death records with death dates, where death dat...
Check if randomized patients are missing stratification factor data
Check for consistency between DV and AE for COVID-19 events
Check for consistency in COVID-19 DV variables, DVREAS and DVEPRELI
Check if Study Drug is not administered in the Study Eye
Check that all ECG datetimes are earlier than last visit's (possible d...
Check for duplicate EX records
Check for Missing EXDOSE.
Check for EXDOSE>0 When EXOCCUR is not "Y"
Check for Invalid EXDOSE (Dose per Administration) and Missing/Incompl...
Check for missing EXOCCUR but EXDOSE not missing
Check for EX dates occurring after death date
Check that all exposure start dates are on or before exposure end date...
Check that all EX start dates are earlier than last visit's (possible ...
Check that an infusion drug has same start/end exposure dates, also in...
Check for missing EX.VISIT
Check for LB dates occurring after death date
Check that all LB dates are duplicated or earlier than last visit's (p...
Check for missing lab reference ranges (LBSTNRLO, LBSTNRHI)
Check LBORRES/LBSTRESC populated with number beginning with character ...
Check missing standard lab values (LBSTRESN/LBSTRESC)
Check for missing lab units (LBSTRESU)
Check for lab dates with year and day known but month unknown
Check for MH dates with year and day known but month unknown
Check for missing values in the MISPEC variable
Check if 1m BCVA test stops too late, too early and has correct total
Check mismatch between Derived BCVA Total Score & Total BCVA Score fro...
Check if Post Treatment Count Fingers in Study Eye laterality does not...
Check for procedure dates with year and day known but month unknown
Check if ocular procedures/surgeries has laterality missing for CRF pa...
Check for multiple dates at the same visit in QS
Check for QS dates occurring after death date
Check that all QS dates are duplicated or earlier than last visit's (p...
Check to confirm that there is a reason for a questionnaire being mark...
Check for non-missing QSSTRESC if QSSTAT is NOT DONE
Check for patients with populated RSSCAT but missing RSCAT.
Check RS records where the same date occurs across multiple visits
Check that all RS dates for INV Overall Response are duplicated or ear...
Check missing RSDTC and VISIT
Check SC Eye Meeting Eligibility Criteria assignments among DM patient...
Check SC Study Eye Selection assignments among DM patients
Check non-missing last ALIVE status date in SS is before than death da...
Check non-missing DEAD status date in SS and non-missing according DS ...
Check non-missing DEAD status date in SS and an according DM record wi...
Check for non-missing SSORRES if SSSTAT is NOT DONE
Check for duplicate TR records
Check TR Longest Diameter Records where the same date occurs across mu...
Check that all TR dates by INV are duplicated or earlier than last vis...
Check for TR records with missing TRSTRESN for Longest Diameter (LDIAM...
Check for missing MedDRA version in TS
Check for missing WHODrug version in TS
Check for missing SSTDTC (Study Start Date) in TS
Check for consistency between new lesions and overall PD response
Check TU Records where the same date occurs across multiple visits
Check that all TU dates are duplicated or earlier than last visit's (p...
Check for missing TUDTC values
Check for missing TULOC values
Check for missing height values
Check that DBP is not higher than SBP in VS
Check for VS dates occurring after death date
Remove non-ASCII characters from reported term in order for Pandoc to ...
Create .R file with sdtmchecks function calls
Create a sdtmchecks list object with column indicating whether the iss...
Save report as an xlsx file
Utility function to obtain Rave form name and row number
Run all data checks in sdtmchecks package using parallel processing
Run a single check in sdtmchecks package
sdtmchecks: Data Quality Checks for Study Data Tabulation Model (SDTM)...
Utility function to truncate data in var_name
A series of checks to identify common issues in Study Data Tabulation Model (SDTM) datasets. These checks are intended to be generalizable, actionable, and meaningful for analysis.
Useful links