{"check":"check_ae_aeacn_ds_disctx_covid","category":"COVID","priority":"Low","domains":"ae, ds","xls_title":"COVID AE trt discon","pdf_title":"Check patient(s) with COVID-related AEs leading to Treatment Discon, but no Treatment Discon due to AE in DS","pdf_subtitle":"* This check identifies COVID AE records with AEACN[n] indicated as leading to Drug Withdrawn without a Treatment Discon record due to AE in DS\n* Check can only run on studies with DS.DSSPID to identify entries on the DISCTX form\n* NOTE: COVID-19 AEs identified based on preferred terms from MedDRA v27.0 COVID-19 SMQ (Narrow) or earlier identified version based on TS","pdf_return":"AE and/or DS does not exist or failed to read or covid terms not found","fxn_in":"AE=ae,DS=ds","fxn_in_roche":"AE=ae,DS=ds","exist_string":"exists(\"ae\") & exists(\"ds\")"} {"check":"check_ae_aeacnoth","category":"ALL","priority":"Low","domains":"ae","xls_title":"AE AEACNOTH multiple","pdf_title":"Check for null AEACNOT[1/2] when AEACNOTH = 'MULTIPLE'","pdf_subtitle":"* This check looks for null AEACNOT[1/2] when AEACNOTH = 'MULTIPLE', which indicates a possible SDTMv mapping issue\n* NOTE: not all ongoing studies are adopting this approach for AE resolution and this may not be appropriate to query","mapping":"Y","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\")"} {"check":"check_ae_aeacnoth_ds_disctx","category":"ALL","priority":"Low","domains":"ae, ds","xls_title":"AE AEACNOTx Discon","pdf_title":"Check for DS record indicating study discon when AE.AEACNOTx indicates study discon","pdf_subtitle":"* This code checks that when a patient has an AE with AEACNOTx = \"SUBJECT DISCONTINUED FROM STUDY\" (x = \"H\", \"1\", \"2\", ...) then there should also be a record in DS where DS.DSSCAT = \"STUDY COMPLETION/EARLY DISCONTINUATION\" and DS.DSDECOD != \"COMPLETED\".","pdf_return":"AE and/or DS does not exist or failed to read","fxn_in":"AE=ae,DS=ds","fxn_in_roche":"AE=ae,DS=ds,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\") & exists(\"ds\")"} {"check":"check_ae_aeacnoth_ds_stddisc_covid","category":"COVID","priority":"Low","domains":"ae, ds","xls_title":"COVID AE study discon","pdf_title":"Check patient(s) with COVID-related AEs leading to Study Discon, but no corresponding Study Discon recs in DS","pdf_subtitle":"* This check identifies COVID AE records with AEACNOT[H/n] indicated as leading to Study Discontinuation without a Study Discon record in DS\n* NOTE: COVID-19 AEs identified based on preferred terms from MedDRA v27.0 COVID-19 SMQ (Narrow) or earlier identified version based on TS","pdf_return":"AE and/or DS does not exist or failed to read or covid terms not found","fxn_in":"AE=ae,DS=ds","fxn_in_roche":"AE=ae,DS=ds","exist_string":"exists(\"ae\") & exists(\"ds\")"} {"check":"check_ae_aedecod","category":"ALL","priority":"High","domains":"ae","xls_title":"AE Missing PT","pdf_title":"Check for AEs with missing Dictionary Derived Term","pdf_subtitle":"* This check looks for AEs with missing Dictionary Derived Term (AEDECOD)","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\")"} {"check":"check_ae_aedthdtc_aesdth","category":"ALL","priority":"High","domains":"ae","xls_title":"AE Death Date vs Indicator","pdf_title":"Check for AEs with death date but AE death indicator not equal to 'Y'","pdf_subtitle":"* This check looks for AEs with death date (AEDTHDTC) populated but AE death indicator (AESDTH) != \"Y\"","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\")"} {"check":"check_ae_aedthdtc_ds_death","category":"ALL","priority":"High","domains":"ae, ds","xls_title":"DS Death Dates in AE","pdf_title":"Check patient(s) with \"DEATH\" in DSDECOD and string \"ADVERSE EVENT\" in DSTERM also with death date in AE","pdf_subtitle":"* This check identifies DS records with DSDECOD including the string \"DEATH\" and DSTERM including the string \"ADVERSE EVENT\"\n* who do not have an AE record with non-missing AEDTHDTC\n* This check logic is applicable to older, legacy studies that mapped DSTERM = 'DEATH DUE TO ADVERSE EVENT' rather than newer studies\n* using DSTERM = 'DEATH DUE TO [adverse event]' (e.g., \"DEATH DUE TO INFLUENZA\")","pdf_return":"AE and/or DS does not exist or failed to read","fxn_in":"AE=ae,DS=ds","fxn_in_roche":"AE=ae,DS=ds","exist_string":"exists(\"ae\") & exists(\"ds\")"} {"check":"check_ae_aelat","category":"OPHTH","priority":"High","domains":"ae","xls_title":"AE AELAT Missing","pdf_title":"OPHTHALMOLOGY: Check for missing laterality of eye-related AE","pdf_subtitle":"* This check identifies AE records where AELAT is missing but AESOC contains the string \"EYE\"\n* Laterality for eye-related AEs is expected to be reported","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\")"} {"check":"check_ae_aeout","category":"ALL","priority":"High","domains":"ae","xls_title":"AE Death Outcome","pdf_title":"Check for AE consistency between death date and AE outcome","pdf_subtitle":"* This check looks for AEs with Death date(AEDTHDTC) but outcome (AEOUT) is not FATAL and conversely AEs with no death date (AEDTHDTC) but outcome (AEOUT) is fatal","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\")"} {"check":"check_ae_aeout_aeendtc_aedthdtc","category":"ALL","priority":"High","domains":"ae","xls_title":"Fatal AE Resolution Date","pdf_title":"Check for fatal AEs with inconsistent or missing AE resolution date","pdf_subtitle":"* This check looks for AEs with fatal outcome (AEOUT = 'FATAL') and resolution date not populated or not equal to AE death date\n* NOTE: not all ongoing studies are adopting this approach for AE resolution and this may not be appropriate to query","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\")"} {"check":"check_ae_aeout_aeendtc_nonfatal","category":"ALL","priority":"Medium","domains":"ae","xls_title":"Non-Fatal AE Resolution Date","pdf_title":"Check for non-fatal AEs with inconsistent or missing AE resolution date","pdf_subtitle":"* This check looks for AEs with non-fatal outcome and flags when resolution date (AEENDTC) populated but AEOUT includes\n* \"UNKNOWN\", \"NOT RECOVERED/NOT RESOLVED\", or \"RECOVERING/RESOLVING\"\n* --or-- when resolution date not populated but AEOUT includes \"RECOVERED/RESOLVED\" or \"RECOVERED/RESOLVED WITH SEQUELAE\"","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\")"} {"check":"check_ae_aerel","category":"ALL","priority":"Medium","domains":"ae","xls_title":"AE AEREL","pdf_title":"Check for AEREL and corresponding AEREL[n] values","pdf_subtitle":"* This check identifies AEREL with null values\n* If AEREL[n] variables are included, the check assesses SDTMv mapping is as expected","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\")"} {"check":"check_ae_aesdth_aedthdtc","category":"ALL","priority":"High","domains":"ae","xls_title":"AE Death Indicator vs Date","pdf_title":"Check for AEs with AE death indicator equal to 'Y' but no death date","pdf_subtitle":"* This check looks for AEs with AE death indicator (AESDTH) = \"Y\" but death date (AEDTHDTC) not populated","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\")"} {"check":"check_ae_aestdtc_after_aeendtc","category":"ALL","priority":"High","domains":"ae","xls_title":"AE Start after End Date","pdf_title":"Check for AEs with start date after end date","pdf_subtitle":"* This check looks for AEs with AE start date (AESTDTC) after AE end date (AEENDTC)","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\")"} {"check":"check_ae_aestdtc_after_dd","category":"ALL","priority":"High","domains":"ae, ds","xls_title":"AE Start after Death Date","pdf_title":"Check for AEs with start date after death date","pdf_subtitle":"* This check finds records with AE start date (AESTDTC) after death date\n* Earliest death date between DS and AE domains is used for comparisons\n* Queries should be generated to determine which is incorrect of death date or AE date\n* Incomplete dates with known year and month but unknown day are imputed to the first of the month","pdf_return":"AE and/or DS does not exist or failed to read","fxn_in":"AE=ae,DS=ds","fxn_in_roche":"AE=ae,DS=ds,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\") & exists(\"ds\")"} {"check":"check_ae_aetoxgr","category":"ALL","priority":"High","domains":"ae","xls_title":"AE Missing Grade","pdf_title":"Patients with missing AE grade values","pdf_subtitle":"* Check for AE records have missing values for either AETOXGR or AESEV. If both variables exist it checks for records where both are missing.","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\")"} {"check":"check_ae_death","category":"ALL","priority":"High","domains":"ae","xls_title":"AE Death Variables","pdf_title":"Grade 5 AEs where other variables do not indicate death","pdf_subtitle":"* This check identifies grade 5 AEs that do not also have the following:\n* Outcome (AEOUT) marked \"FATAL\", death indicator (AESDTH) marked \"Y\", or death date (AEDTHDTC) populated","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae","exist_string":"exists(\"ae\")"} {"check":"check_ae_death_ds_discon","category":"ALL","priority":"High","domains":"ae, ds","xls_title":"AE Death Discon","pdf_title":"Check for patients with AE indicating death but no Study Discontinuation form","pdf_subtitle":"* This check identifies instances where an AE indicates death (using AEDTHDTC, AESDTH, AEOUT, and/or AETOXGR if it exists)\n* and makes sure that those patients also have a Study Discontinuation form in the DS domain","pdf_return":"AE and/or DS does not exist or failed to read","fxn_in":"AE=ae,DS=ds","fxn_in_roche":"AE=ae,DS=ds,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\") & exists(\"ds\")"} {"check":"check_ae_ds_partial_death_dates","category":"ALL","priority":"High","domains":"ae, ds","xls_title":"AE Partial Death Dates","pdf_title":"Check for partial death dates","pdf_subtitle":"* This check looks for partial death dates in discon forms and in the AE form\r\n* It looks for lengths <10 for DS.DSSTDTC where DS.DSDECOD=\"DEATH\" as well as for AE.AEDTHDTC\r\n* Partial death dates should be queried","pdf_return":"AE and/or DS does not exist or failed to read","fxn_in":"AE=ae,DS=ds","fxn_in_roche":"AE=ae,DS=ds,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\") & exists(\"ds\")"} {"check":"check_ae_dup","category":"ALL","priority":"High","domains":"ae","xls_title":"AE Duplicates","pdf_title":"Duplicate AE records","pdf_subtitle":"* This check looks for duplicate AEs by the SDTMv variables listed below:\n* USUBJID, AETERM, AEDECOD, AESTDTC, AEENDTC, AELAT (if applicable), AEMODIFY (if applicable), AETOXGR -or- AESEV","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae","exist_string":"exists(\"ae\")"} {"check":"check_ae_fatal","category":"ALL","priority":"High","domains":"ae","xls_title":"AE Death Vars when Fatal","pdf_title":"Check for death variable consistency when AEOUT==\"FATAL\"","pdf_subtitle":"* This check looks for consistency in AE death variables AESDTH,AEDTHDTC, and AETOXGR (if applicable)\r\n* when outcome (AEOUT) indicates 'FATAL'","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\")"} {"check":"check_ae_withdr_ds_discon","category":"ALL","priority":"Medium","domains":"ae, ds, ts","xls_title":"AE Drug Withdrawn no DS","pdf_title":"Check for AE drug withdrawn but no DS treatment discontinuation record","pdf_subtitle":"* This check identifies patients with AEACN = 'DRUG WITHDRAWN' and missing a DS treatment discontinuation record\n* This check will run only for single-agent studies based on TS in which there is only one treatment discontinuation form expected in DS\n* and AEACN would not have the value = 'MULTIPLE'","pdf_return":"One or more of AE/DS/TS does not exist or failed to read","fxn_in":"AE=ae,DS=ds,TS=ts","fxn_in_roche":"AE=ae,DS=ds,TS=ts,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\") & exists(\"ds\") & exists(\"ts\")"} {"check":"check_ce_missing_month","category":"ALL","priority":"Low","domains":"ce","xls_title":"CE Missing Month","pdf_title":"Check for \"---\" in clinical events dates","pdf_subtitle":"* This check looks for the string \"---\" in clinical events dates, e.g. 2010---01\n* The presence of this string indicates that year and day are known, but month is not\n* While this is possible, it might be more likely that month was accidentally input as day\n* These values should be queried","pdf_return":"CE does not exist or failed to read","fxn_in":"CE=ce","fxn_in_roche":"CE=ce,preproc=roche_derive_rave_row","exist_string":"exists(\"ce\")"} {"check":"check_cm_cmdecod","category":"ALL","priority":"Low","domains":"cm","xls_title":"CM Missing PT","pdf_title":"Check for concomitant medications with missing standardized medication names (CMDECOD)","pdf_subtitle":"* This check looks for conmeds with missing standardized medication names (CMDECOD)\n* Only records where CM.CMCAT = \"CONCOMITANT MEDICATIONS\" are checked","pdf_return":"CM does not exist or failed to read","fxn_in":"CM=cm","fxn_in_roche":"CM=cm,preproc=roche_derive_rave_row","exist_string":"exists(\"cm\")"} {"check":"check_cm_cmindc","category":"ALL","priority":"Low","domains":"cm","xls_title":"CM Prophylaxis","pdf_title":"Check for CM records with prophylactic indication but prophylaxis checkbox unchecked","pdf_subtitle":"* This check identifies possible prophylactic conmeds (CM.CMINDC) that do not have the checkbox ticked (CM.CMPROPH)\n* This check ensures drugs are correctly coded as prophylactic, as some definitions of systemic drugs exclude prophylactic indications\n* especially corticosteroids\n* Teams may consider additional refinements to target records important for analysis","pdf_return":"CM does not exist or failed to read","fxn_in":"CM=cm","fxn_in_roche":"CM=cm,preproc=roche_derive_rave_row","exist_string":"exists(\"cm\")"} {"check":"check_cm_cmlat","category":"OPHTH","priority":"Low","domains":"cm","xls_title":"CM CMLAT Missing","pdf_title":"OPHTHALMOLOGY: Check for missing laterality of ocular conmed or laterality populated but route is not eye-related","pdf_subtitle":"* This check identifies Concomitant Medications (CMCAT = 'CONCOMITANT MEDICATION') where\n* the medication is eye-related (i.e., CMROUTE = 'INTRAVITREAL', 'OPHTHALMIC', etc.) but CMLAT is not populated --or--\n* CMLAT reported as LEFT/RIGHT/BILATERAL but CMROUTE is not eye-related (i.e., not INTRAVITREAL, OPHTHALMIC, TOPICAL, etc.)","pdf_return":"CM does not exist or failed to read","fxn_in":"CM=cm","fxn_in_roche":"CM=cm,preproc=roche_derive_rave_row","exist_string":"exists(\"cm\")"} {"check":"check_cm_cmlat_prior_ocular","category":"OPHTH","priority":"Low","domains":"cm","xls_title":"CM Prior Ocular CMLAT Missing","pdf_title":"OPHTHALMOLOGY: Check for missing laterality of ocular conmed reported as prior ocular therapies","pdf_subtitle":"* This check identifies Prior Ocular Therapies and Treatment eCRF (CMCAT = \"PRIOR OCULAR THERAPIES AND TREATMENTS\")\n* reported with missing/inconsistent laterality (CMLAT)","pdf_return":"CM does not exist or failed to read","fxn_in":"CM=cm","fxn_in_roche":"CM=cm,preproc=roche_derive_rave_row","exist_string":"exists(\"cm\")"} {"check":"check_cm_missing_month","category":"ALL","priority":"Low","domains":"cm","xls_title":"CM Missing Month","pdf_title":"Check for \"---\" in concomitant medication dates","pdf_subtitle":"* This check looks for the string \"---\" in conmed dates, e.g. 2010---01\n* The presence of this string indicates that year and day are known, but month is not\n* While this is possible, it might be more likely that month was accidentally input as day\n* These values should be queried","pdf_return":"CM does not exist or failed to read","fxn_in":"CM=cm","fxn_in_roche":"CM=cm,preproc=roche_derive_rave_row","exist_string":"exists(\"cm\")"} {"check":"check_dd_ae_aedthdtc_ds_dsstdtc","category":"ALL","priority":"High","domains":"ae, ds","xls_title":"AE Death Dates Match DS","pdf_title":"Check that AE death date matches DS death date","pdf_subtitle":"* If a patient has a death date populated in AE they should have a matching death date in DS\r\n* If AE.AEDTHDT exists it should match DS.DSSTDTC for death records","pdf_return":"AE and/or DS does not exist or failed to read","fxn_in":"AE=ae,DS=ds","fxn_in_roche":"AE=ae,DS=ds,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\") & exists(\"ds\")"} {"check":"check_dd_ae_aeout_aedthdtc","category":"ALL","priority":"High","domains":"ae","xls_title":"Death Date When Fatal","pdf_title":"Check for AEs with 'FATAL' outcome but no AE death date or non-fatal outcome with AE death date","pdf_subtitle":"* This check looks for AEs with death date (AEDTHDTC) not populated when AE outcome (AEOUT) marked \"FATAL\"","pdf_return":"AE does not exist or failed to read","fxn_in":"AE=ae","fxn_in_roche":"AE=ae,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\")"} {"check":"check_dd_death_date","category":"ALL","priority":"High","domains":"ae, ds","xls_title":"Death due to AE in DS","pdf_title":"Check that patients with death dates in AE also have a DS record indicating reason for Death is AE","pdf_subtitle":"* If AE.AEDTHDTC is populated there should be at least one DS record with DS.DSDECOD indicating 'DEATH' and DS.DSTERM indicating 'DEATH' (unless Other, specify text populated given)\n* Older, legacy studies (prior to SDTM IG 3.2) would require reported reason to be DS.DSTERM as \"DEATH DUE TO ADVERSE EVENT\"","pdf_return":"AE and/or DS does not exist or failed to read","fxn_in":"AE=ae,DS=ds","fxn_in_roche":"AE=ae,DS=ds,preproc=roche_derive_rave_row","exist_string":"exists(\"ae\") & exists(\"ds\")"} {"check":"check_dm_actarm_arm","category":"ALL","priority":"High","domains":"dm","xls_title":"DM Arm != Actual Arm","pdf_title":"Check for DM.ARM not equal to DM.ACTARM","pdf_subtitle":"* This check identifies records where ARM ne ACTARM\n* Analyst note: This check is intended to identify patients who switched Arms\n* Untreated patients can be ignored","pdf_return":"DM does not exist or failed to read","fxn_in":"DM=dm","fxn_in_roche":"DM=dm","exist_string":"exists(\"dm\")"} {"check":"check_dm_ae_ds_death","category":"ALL","priority":"High","domains":"dm, ds, ae","xls_title":"AE DS DM Death Agreement","pdf_title":"Check for patients with DM indicating death but not either AE or DS","pdf_subtitle":"* This check identifies instances where a DM record indicates death (using DM.DMDTH or DM.DTHFL)\n* and makes sure that those patients also have record indicating death in either AE or DS","pdf_return":"One or more of DM/DS/AE does not exist or failed to read","fxn_in":"DM=dm,DS=ds,AE=ae","fxn_in_roche":"DM=dm,DS=ds,AE=ae","exist_string":"exists(\"dm\") & exists(\"ds\") & exists(\"ae\")"} {"check":"check_dm_age_missing","category":"ALL","priority":"High","domains":"dm","xls_title":"DM Missing Age","pdf_title":"Check for suspicious age values","pdf_subtitle":"* This check looks for age values (DM.AGE) that are missing, less than 18, or 90 or more\n* Missing ages or ages <18 should be queried.\n* Ages 90 or over are not necessarily incorrect, though very high ages should possibly be queried to be sure.","pdf_return":"DM does not exist or failed to read","fxn_in":"DM=dm","fxn_in_roche":"DM=dm","exist_string":"exists(\"dm\")"} {"check":"check_dm_armcd","category":"ALL","priority":"High","domains":"dm","xls_title":"DM Missing Arm","pdf_title":"Patients with missing Arm Code information","pdf_subtitle":"* This check identifies patients ARMCD is missing","mapping":"Y","pdf_return":"DM does not exist or failed to read","fxn_in":"DM=dm","fxn_in_roche":"DM=dm","exist_string":"exists(\"dm\")"} {"check":"check_dm_dthfl_dthdtc","category":"ALL","priority":"High","domains":"dm","xls_title":"DM Death Flag","pdf_title":"Check for DM DTHFL and DTHDT consistency","pdf_subtitle":"* This check returns records when DTHFL is Y but DTHDTC is missing or vice versa\n* There is a possible valid scenario when death date is truly unknown but occurrence of death is known","pdf_return":"DM does not exist or failed to read","fxn_in":"DM=dm","fxn_in_roche":"DM=dm","exist_string":"exists(\"dm\")"} {"check":"check_dm_usubjid_ae_usubjid","category":"ALL","priority":"High","domains":"dm, ae, ds, ex","xls_title":"No AE records","pdf_title":"Check for patients with no AE records","pdf_subtitle":"* This check identifies patients without AE records\r\n* EXSTDTC is the date of first valid administration of any treatment\r\n* Death information is also displayed from DS if available (DSTERM and DSSTDTC).\r\n* If DSTERM = \"DEATH DUE TO ADVERSE EVENT\" then VADs may be undercounting deaths since there is no corresponding death info in AE","mapping":"Y","pdf_return":"One or more of DM/AE/DS/EX does not exist or failed to read","fxn_in":"DM=dm,AE=ae,DS=ds,EX=ex","fxn_in_roche":"DM=dm,AE=ae,DS=ds,EX=ex","exist_string":"exists(\"dm\") & exists(\"ae\") & exists(\"ds\") & exists(\"ex\")"} {"check":"check_dm_usubjid_dup","category":"ALL","priority":"High","domains":"dm","xls_title":"DM Duplicate Patient","pdf_title":"Check for patients duplicate records in DM","pdf_subtitle":"* This check identifies duplicate USUBJID values in the DM dataset\n* This is often the result of a mapping issue","pdf_return":"DM does not exist or failed to read","fxn_in":"DM=dm","fxn_in_roche":"DM=dm","exist_string":"exists(\"dm\")"} {"check":"check_ds_ae_discon","category":"ALL","priority":"Low","domains":"ae, ds","xls_title":"AE Tx Discon consistency","pdf_title":"Check for treatment discontinuation consistency between DS and AE","pdf_subtitle":"* This check identifies records where patients have treatment discon form indicating AE but no AE indicating drug withdrawn\n* i.e. Should be a record where AE.AEACN[n]=DRUG WITHDRAWN when treatment discon form indicates AE","pdf_return":"AE and/or DS does not exist or failed to read","fxn_in":"AE=ae,DS=ds","fxn_in_roche":"AE=ae,DS=ds","exist_string":"exists(\"ae\") & exists(\"ds\")"} {"check":"check_ds_dsdecod_death","category":"ALL","priority":"High","domains":"ds","xls_title":"DS Discon Check Given Death","pdf_title":"Check that patients who have died have a study discontinuation record","pdf_subtitle":"* These patients have a record in DS indicating death but no DS record indicating study discontinuation","pdf_return":"DS does not exist or failed to read","fxn_in":"DS=ds","fxn_in_roche":"DS=ds,preproc=roche_derive_rave_row","exist_string":"exists(\"ds\")"} {"check":"check_ds_dsdecod_dsstdtc","category":"ALL","priority":"High","domains":"ds","xls_title":"DS death with no date","pdf_title":"DS with death record but no death date record","pdf_subtitle":"* This check looks for patients in DS who have a record indicating death but no corresponding record with\n* death date in DS. For example, \"Survival Follow Up\" records often have no death dates, so for\n* a data cut to be applied properly, you have to impute that missing\n* death date from another record where its not missing (e.g. Study Discon form)","pdf_return":"DS does not exist or failed to read","fxn_in":"DS=ds","fxn_in_roche":"DS=ds","exist_string":"exists(\"ds\")"} {"check":"check_ds_dsscat","category":"ALL","priority":"High","domains":"ds","xls_title":"DS More than 1 Study Discon","pdf_title":"Check for multiple study discontinuation records in DS","pdf_subtitle":"* This check identifies multiple Study Discontinuation records","pdf_return":"DS does not exist or failed to read","fxn_in":"DS=ds","fxn_in_roche":"DS=ds","exist_string":"exists(\"ds\")"} {"check":"check_ds_dsterm_death_due_to","category":"ALL","priority":"High","domains":"ds","xls_title":"DS Missing Death Reason","pdf_title":"Check missing cause of death information in DS","pdf_subtitle":"* This check looks for DS.DSTERM values with missing death reason and returns a data frame (e.g. records where DSTERM = 'DEATH DUE TO')","pdf_return":"DS does not exist or failed to read","fxn_in":"DS=ds","fxn_in_roche":"DS=ds","exist_string":"exists(\"ds\")"} {"check":"check_ds_duplicate_randomization","category":"ALL","priority":"High","domains":"ds","xls_title":"DS Duplicate Randomization","pdf_title":"Check for patients duplicate randomization records in DS","pdf_subtitle":"* This check identifies duplicate Randomization records in DS","pdf_return":"DS does not exist or failed to read","fxn_in":"DS=ds","fxn_in_roche":"DS=ds","exist_string":"exists(\"ds\")"} {"check":"check_ds_ex_after_discon","category":"ALL","priority":"Medium","domains":"ds, ex","xls_title":"DS Discon before last dose","pdf_title":"Check for last study drug dose after study discontinuation date","pdf_subtitle":"* This check identifies patients with a study discontinuation record prior to last valid study drug dose \n* Dose calculated as the max. of EXSTDTC/EXENDTC, imputed with January 1st when only the year is known\n* There could be a date entry error on the DISC1 form or the dosing log","pdf_return":"DS and/or EX does not exist or failed to read","fxn_in":"DS=ds,EX=ex","fxn_in_roche":"DS=ds,EX=ex","exist_string":"exists(\"ds\") & exists(\"ex\")"} {"check":"check_ds_multdeath_dsstdtc","category":"ALL","priority":"High","domains":"ds","xls_title":"DS Multiple Death Dates","pdf_title":"Check for Multiple Death Dates in DS","pdf_subtitle":"* This check looks for multiple death dates DS.DSSTDTC reported in DS","pdf_return":"DS does not exist or failed to read","fxn_in":"DS=ds","fxn_in_roche":"DS=ds,preproc=roche_derive_rave_row","exist_string":"exists(\"ds\")"} {"check":"check_ds_sc_strat","category":"ALL","priority":"Medium","domains":"ds, sc","xls_title":"Stratification Factors Missing","pdf_title":"Check that all randomized patients have stratification factor records","pdf_subtitle":"* Patients will be flagged if they have a DS record indicating RANDOMIZATION but no records in SC indicating stratification factors\n* This check attempts to ignore patients in randomized studies where no stratifcation factors are collected\n* A common cause for randomized patients to be missing stratification factor data is IxRS data is not current","pdf_return":"DS and/or SC does not exist or failed to read","fxn_in":"DS=ds,SC=sc","fxn_in_roche":"DS=ds,SC=sc","exist_string":"exists(\"ds\") & exists(\"sc\")"} {"check":"check_dv_ae_aedecod_covid","category":"COVID","priority":"Low","domains":"ae, dv","xls_title":"COVID DV and AE","pdf_title":"Check patient(s) with COVID-related Protocol Deviation, but no AE record with COVID terms","pdf_subtitle":"* This check identifies DV records flagged as COVID related and without COVID AEs recorded\n* NOTE: COVID-19 AEs identified based on preferred terms from MedDRA v27.0 COVID-19 SMQ (Narrow) or earlier identified version based on TS","pdf_return":"AE and/or DV does not exist or failed to read or covid terms not found","fxn_in":"AE=ae,DV=dv","fxn_in_roche":"AE=ae,DV=dv","exist_string":"exists(\"ae\") & exists(\"dv\")"} {"check":"check_dv_covid","category":"COVID","priority":"Low","domains":"dv","xls_title":"COVID DV consistency","pdf_title":"Check for COVID related protocol deviation variable consistency","pdf_subtitle":"* This check identifies records where DV.DVEPRELI and DV.DVREAS are inconsistent","pdf_return":"DV does not exist or failed to read","fxn_in":"DV=dv","fxn_in_roche":"DV=dv","exist_string":"exists(\"dv\")"} {"check":"check_ec_sc_lat","category":"OPHTH","priority":"Medium","domains":"ec, sc","xls_title":"EC drug not in Study Eye","pdf_title":"OPHTHALMOLOGY: Check for Study Drug administration that is not in the Study Eye","pdf_subtitle":"* This check identifies study drug records in EC where laterality is inconsistent with selected Study Eye\n* based on comparison of EC.ECLAT where ECMOOD = 'PERFORMED' and ECCAT does not include the string 'FELLOW' \n* with SC Study Eye Selection laterality (SCORRES when SCTESTCD = 'FOCID') with OS = LEFT, OD = RIGHT\n* NOTE: Assumption that drug administration collected for Study Eye unless ECCAT indicates Fellow Eye","pdf_return":"EC and/or SC does not exist or failed to read","fxn_in":"EC=ec,SC=sc","fxn_in_roche":"EC=ec,SC=sc","exist_string":"exists(\"ec\") & exists(\"sc\")"} {"check":"check_eg_egdtc_visit_ordinal_error","category":"ALL","priority":"Low","domains":"eg","xls_title":"EG Visit and Date Consistency","pdf_title":"Check for EG visit and date consistency","pdf_subtitle":"* This check looks for date/visit conformance in EKG data (EG domain)\n* It returns records where the date at a given visit is after the date at a subsequent visit ordering by EG.VISITNUM\n* Unscheduled visits are not included.","pdf_return":"EG does not exist or failed to read","fxn_in":"EG=eg","fxn_in_roche":"EG=eg","exist_string":"exists(\"eg\")"} {"check":"check_ex_dup","category":"ALL","priority":"High","domains":"ex","xls_title":"EX Duplicate Records","pdf_title":"Duplicate records of administered treatments","pdf_subtitle":"* This check looks for duplicate administered treatment records (i.e. EXOCCUR=Y or EXOCCUR does not exist) by the variables listed below:\n* USUBJID, EXTRT, EXDOSE, EXSTDTC","pdf_return":"EX does not exist or failed to read","fxn_in":"EX=ex","fxn_in_roche":"EX=ex","exist_string":"exists(\"ex\")"} {"check":"check_ex_exdose_exoccur","category":"ALL","priority":"High","domains":"ex","xls_title":"EX Missing EXDOSE","pdf_title":"Records of administered treatments with missing dose values","pdf_subtitle":"* This check looks for missing dose values for treatments that are recorded as having been administered (EXOCCUR=Y or EXOCCUR does not exist)","pdf_return":"EX does not exist or failed to read","fxn_in":"EX=ex","fxn_in_roche":"EX=ex","exist_string":"exists(\"ex\")"} {"check":"check_ex_exdose_pos_exoccur_no","category":"ALL","priority":"High","domains":"ex","xls_title":"EX EXDOSE gt 0 and EXOCCUR != Y","pdf_title":"Check for EXDOSE>0 when EXOCCUR is not \"Y\"","pdf_subtitle":"* This checks looks for EXDOSE values greater than 0 when EXOCCUR is not \"Y\" \n* It could be for a specified drug/treatment, or for all drugs/treatments in the dataset","pdf_return":"EX does not exist or failed to read","fxn_in":"EX=ex","fxn_in_roche":"EX=ex","exist_string":"exists(\"ex\")"} {"check":"check_ex_exdosu","category":"ALL","priority":"Medium","domains":"ex","xls_title":"EX Missing Dose Units","pdf_title":"Records of administered treatments with missing dose units","pdf_subtitle":"* This check looks for missing dose units for treatments that are recorded as having been administered (EXOCCUR=Y or EXOCCUR does not exist)","pdf_return":"EX does not exist or failed to read","fxn_in":"EX=ex","fxn_in_roche":"EX=ex","exist_string":"exists(\"ex\")"} {"check":"check_ex_exoccur_exdose_exstdtc","category":"ALL","priority":"High","domains":"ex","xls_title":"EX Missing Dose Info","pdf_title":"Check for Invalid EX Dose per Administration and Missing/Incomplete Start Date Values When Occurrence = 'Y'","pdf_subtitle":"* This check looks for cases where treatment given (EXOCCUR=Y or does not exist) but EXDOSE (dose per administration) is not > 0 (>= 0 in case of placebo) and/or\n* EXSTDTC (start date/treatment date) is missing or incomplete in the EX (exposure) SDTM domain","pdf_return":"EX does not exist or failed to read","fxn_in":"EX=ex","fxn_in_roche":"EX=ex","exist_string":"exists(\"ex\")"} {"check":"check_ex_exoccur_mis_exdose_nonmis","category":"ALL","priority":"High","domains":"ex","xls_title":"EX Valid Dose, Missing EXOCCUR","pdf_title":"Records with missing drug administration occurrence info but non-missing dose value","pdf_subtitle":"* This check identifies patients where drug administration info (EXOCCUR) is missing but dose information (EXDOSE) is populated\n* EXOCCUR only exists in EX domains earlier than SDTM IG 3.2","pdf_return":"EX does not exist or failed to read","fxn_in":"EX=ex","fxn_in_roche":"EX=ex","exist_string":"exists(\"ex\")"} {"check":"check_ex_exstdtc_after_dd","category":"ALL","priority":"Medium","domains":"ae, ds, ex","xls_title":"EX Dose after Death Date","pdf_title":"Check for EX dates occurring after death date","pdf_subtitle":"* This check looks for EX dates (EXSTDTC) that occur after death date\n* Earliest death date from AE and DS is used\n* Incomplete dates with known year and month but unknown day are imputed to the first of the month","pdf_return":"One or more of AE/DS/EX does not exist or failed to read","fxn_in":"AE=ae,DS=ds,EX=ex","fxn_in_roche":"AE=ae,DS=ds,EX=ex","exist_string":"exists(\"ae\") & exists(\"ds\") & exists(\"ex\")"} {"check":"check_ex_exstdtc_after_exendtc","category":"ALL","priority":"High","domains":"ex","xls_title":"EX Dose Start Date After End","pdf_title":"Check for EX exposure records with start date after end date","pdf_subtitle":"* This check looks for exposures with EX start date (EXSTDTC) after EX end date (EXENDTC)","pdf_return":"EX does not exist or failed to read","fxn_in":"EX=ex","fxn_in_roche":"EX=ex","exist_string":"exists(\"ex\")"} {"check":"check_ex_exstdtc_visit_ordinal_error","category":"ALL","priority":"High","domains":"ex","xls_title":"EX Visit and Date Consistency","pdf_title":"Check for EX visit and date consistency","pdf_subtitle":"* This check looks for date/visit conformance in exposure data (EX domain)\r\n* It returns records where the date at a given visit is after the date at a subsequent visit ordering by EX.VISITNUM\r\n* Unscheduled visits are not included","pdf_return":"EX does not exist or failed to read","fxn_in":"EX=ex","fxn_in_roche":"EX=ex","exist_string":"exists(\"ex\")"} {"check":"check_ex_extrt_exoccur","category":"ALL","priority":"Low","domains":"ex","xls_title":"EX Drug Name missing","pdf_title":"Check for missing treatment names for administered doses","pdf_subtitle":"* This check looks for missing drug names for treatments that are recorded as having been administered","pdf_return":"EX does not exist or failed to read","fxn_in":"EX=ex","fxn_in_roche":"EX=ex","exist_string":"exists(\"ex\")"} {"check":"check_ex_infusion_exstdtc_exendtc","category":"ALL","priority":"Low","domains":"ex","xls_title":"EX infusion span","pdf_title":"Check for infusion records spanning more than a day","pdf_subtitle":"* This check identifies dose records with EXROUTE = \"INTRAVENOUS\" with start and end date on diferent calendar days\n* NOTE: May result in false positives if protocol allows infusions over a period >24 hours or infusion start time near midnight\n* A - Different Start/End date for Infusion\n* B - Missing End date\n* C - Missing Start date\n* D - Same Start/End date but Start time after End time\n* E - Different Start/End date for Infusion\n* F - Missing End date/time\n* G - Missing Start date/time","pdf_return":"EX does not exist or failed to read","fxn_in":"EX=ex","fxn_in_roche":"EX=ex","exist_string":"exists(\"ex\")"} {"check":"check_ex_visit","category":"ALL","priority":"Low","domains":"ex","xls_title":"EX Visit Name missing","pdf_title":"Records of administered treatments with missing visit values","pdf_subtitle":"* This check looks for missing visit values for treatments that are recorded as having been administered","pdf_return":"EX does not exist or failed to read","fxn_in":"EX=ex","fxn_in_roche":"EX=ex","exist_string":"exists(\"ex\")"} {"check":"check_lb_lbdtc_after_dd","category":"ALL","priority":"Low","domains":"ae, ds, lb","xls_title":"LB Date After Death","pdf_title":"Check for LB dates occurring after death date","pdf_subtitle":"* This check looks for lab dates (LBDTC) that occur after death date\n* Earliest death date from AE and DS is used\n* Incomplete dates with known year and month but unknown day are imputed to the first of the month","pdf_return":"One or more of AE/DS/LB does not exist or failed to read","fxn_in":"AE=ae,DS=ds,LB=lb","fxn_in_roche":"AE=ae,DS=ds,LB=lb","exist_string":"exists(\"ae\") & exists(\"ds\") & exists(\"lb\")"} {"check":"check_lb_lbdtc_visit_ordinal_error","category":"ALL","priority":"High","domains":"lb","xls_title":"LB Visit and Date Consistency","pdf_title":"Check for LB visit and date consistency","pdf_subtitle":"* This check looks for date/visit conformance in LB\n* It returns records where the date at a given visit is after the date at a subsequent visit ordering by LB.VISITNUM per LB.LBCAT\n* 'NOT DONE', 'TREATMENT OR OBSERVATION FU COMP EARLY DISC', and Unscheduled visits are not included.","pdf_return":"LB does not exist or failed to read","fxn_in":"LB=lb","fxn_in_roche":"LB=lb","exist_string":"exists(\"lb\")"} {"check":"check_lb_lbstnrlo_lbstnrhi","category":"ALL","priority":"Medium","domains":"dm, lb","xls_title":"LB Missing Reference Ranges","pdf_title":"Listing of lab tests with missing High or Low reference ranges","pdf_subtitle":"* This check identifies records where lab values (LBSTRESN) exist but at least one lab reference range (LBSTNRHI or LBSTNRLO) is not populated\n* A summary frequency by LBTEST and by SITEID presented as the result \n* NOTE: Some lab tests are not expected to have reference ranges. These tests will still be displayed below.","pdf_return":"DM and/or LB does not exist or failed to read","fxn_in":"DM=dm,LB=lb","fxn_in_roche":"DM=dm,LB=lb","exist_string":"exists(\"dm\") & exists(\"lb\")"} {"check":"check_lb_lbstresc_char","category":"ALL","priority":"Low","domains":"lb","xls_title":"LB Char Value","pdf_title":"Check for missing standard lab result but a numeric reported with > or <","pdf_subtitle":"* This check identifies lab records in which LBSTRESN is missing but LBSTRESC/LBORRES populated with a number beginning with \">\" or \"<\", which will yield missing AVAL in ADaM and records will be omitted in analyses such as Hy's Law\n* NOTE: Molecule/study teams should review and make decisions on subsequent activities in ADaM","mapping":"Y","pdf_return":"LB does not exist or failed to read","fxn_in":"LB=lb","fxn_in_roche":"LB=lb","exist_string":"exists(\"lb\")"} {"check":"check_lb_lbstresn_missing","category":"ALL","priority":"Low","domains":"lb","xls_title":"LB Missing Standard Value","pdf_title":"Check for lab results reported but no conversion to standard units","pdf_subtitle":"* This check identifies records where lab results are reported (LBORRES not missing) but there is no conversion to standard units (LBSTRESN and LBSTRESC is missing)\n* NOTE: Records in which LBSTRESN is missing but LBSTRESC and LBORRES are populated with a number beginning with \">\" or \"<\" or other character are not flagged","pdf_return":"LB does not exist or failed to read","fxn_in":"LB=lb","fxn_in_roche":"LB=lb,preproc=roche_derive_rave_row","exist_string":"exists(\"lb\")"} {"check":"check_lb_lbstresu","category":"ALL","priority":"Medium","domains":"lb","xls_title":"LB Missing Standard Unit","pdf_title":"Records with missing standard lab units","pdf_subtitle":"* This check identifies records where original lab values (LBORRES) exist but standard lab units (LBSTRESU) are not populated\n* NOTE: Records assumed to not have units are excluded from this report\n* This includes records where the lab is assumed to be \"qualitative\" which is indicated in various ways (e.g. by LBMETHOD, specific labs like \"SPGRAV\" and \"PH\" labs, records indicating \"NEGATIVE\"/\"POSITIVE\", etc.)\n* It also includes records indicating NOT DONE","pdf_return":"LB does not exist or failed to read","fxn_in":"LB=lb","fxn_in_roche":"LB=lb,preproc=roche_derive_rave_row","exist_string":"exists(\"lb\")"} {"check":"check_lb_missing_month","category":"ALL","priority":"Low","domains":"lb","xls_title":"LB Missing Month","pdf_title":"Check for \"---\" in lab dates","pdf_subtitle":"* This check looks for the string \"---\" in lab dates, e.g. 2010---01\n* The presence of this string indicates that year and day are known, but month is not\n* While this is possible, it might be more likely that month was accidentally input as day\n* These values should be queried","pdf_return":"LB does not exist or failed to read","fxn_in":"LB=lb","fxn_in_roche":"LB=lb","exist_string":"exists(\"lb\")"} {"check":"check_mh_missing_month","category":"ALL","priority":"Low","domains":"mh","xls_title":"MH Med History Missing Month","pdf_title":"Check for \"---\" in medical history dates","pdf_subtitle":"* This check looks for the string \"---\" in medical history dates, e.g. 2010---01\r\n* The presence of this string indicates that year and day are known, but month is not\r\n* While this is possible, it might be more likely that month was accidentally input as day\r\n* These values should be queried","pdf_return":"MH does not exist or failed to read","fxn_in":"MH=mh","fxn_in_roche":"MH=mh","exist_string":"exists(\"mh\")"} {"check":"check_mi_mispec","category":"ALL","priority":"Low","domains":"mi","xls_title":"MI MISPEC","pdf_title":"Check for null MISPEC","pdf_subtitle":"* This check returns records when MI.MISPEC, a required variable, is not populated. Missing records will be flagged in Pinnacle 21","mapping":"Y","pdf_return":"MI does not exist or failed to read","fxn_in":"MI=mi","fxn_in_roche":"MI=mi","exist_string":"exists(\"mi\")"} {"check":"check_oe_bcva_1m_late_early_tot","category":"OPHTH","priority":"High","domains":"oe","xls_title":"OE 1M Inconsistencies","pdf_title":"OPHTHALMOLOGY: Check for BCVA 1m Test stopped late/early or reported Total is incorrect","pdf_subtitle":"* For BCVA 1m Test (OECAT = 'BEST CORRECTED VISUAL ACUITY' for OETSTDTL = 'TESTING DISTANCE: 1M'): \n* OE records flagged when test stopped too late (i.e., lines read after number of correct letters is <= 3) --or--\n* when test stopped too early (i.e., further lines not read when number of correct letters is > 3) --or--\n* reported Total score (BCVA Scores eCRF Page - C. Total number correct at 1m) does not match with derived total \n* (sum of number correct at 1M)\n* NOTE: Testing events based on combination of distinct USUBJID, VISIT, VISITNUM, OELOC, OELAT, OEDTC.\n* Unscheduled visits on different dates or BCVA Total occurring on different date from BCVA row tests excluded from check.\n* Excludes early phase forms without row numbers in OESPID: BCV5, BCV7, BCVLL5, BCVAC, BCVACLL\n* Studies without these forms result in a pass","pdf_return":"OE does not exist or failed to read","fxn_in":"OE=oe","fxn_in_roche":"OE=oe","exist_string":"exists(\"oe\")"} {"check":"check_oe_bcva_4m_late_early_tot","category":"OPHTH","priority":"High","domains":"oe","xls_title":"OE 4M Inconsistencies","pdf_title":"OPHTHALMOLOGY: Check for BCVA 4m Test stopped late/early or reported Total is incorrect","pdf_subtitle":"* For BCVA 4m Test (OECAT = 'BEST CORRECTED VISUAL ACUITY' for OETSTDTL = 'TESTING DISTANCE: 4M'): \n* OE records flagged when test stopped too late (i.e., lines read after number of correct letters <= 3) --or--\n* when test stopped too early (i.e., further lines not read when number of correct letters > 3) --or--\n* reported Total score (BCVA Scores eCRF Page - A. Total number correct at 4m) does not match with derived total \n* (sum of number correct at 4M)\n* NOTE: Testing events based on combination of distinct USUBJID, VISIT, VISITNUM, OELOC, OELAT, OEDTC.\n* Unscheduled visits on different dates or BCVA Total occurring on different date from BCVA row tests excluded from check.\n* Excludes early phase forms without row numbers in OESPID: BCV5, BCV7, BCVLL5, BCVAC, BCVACLL\n* Studies without these forms result in a pass","pdf_return":"OE does not exist or failed to read","fxn_in":"OE=oe","fxn_in_roche":"OE=oe","exist_string":"exists(\"oe\")"} {"check":"check_oe_bcva_4m_vs_1m_req","category":"OPHTH","priority":"High","domains":"oe","xls_title":"OE BCVA 4M vs 1M Inconsistent","pdf_title":"OPHTHALMOLOGY: Check 1m BCVA Test is completed per BCVA 4m result","pdf_subtitle":"* This check identifies when 4m test total <= 19 and 1m test is not done --or-- 4m test total >= 20 and 1m test is performed\n* among OECAT = 'BEST CORRECTED VISUAL ACUITY' where OETSTDTL = 'TESTING DISTANCE: 1M', 'TESTING DISTANCE: 4M'\n* NOTE: Check assumes that the BCVA 1m and 4m total are accurate and occur on the same date (OEDTC). Records for patients who have completed Low Vision Test excluded. \n* If on different dates, such records excluded from the check.","pdf_return":"OE does not exist or failed to read","fxn_in":"OE=oe","fxn_in_roche":"OE=oe","exist_string":"exists(\"oe\")"} {"check":"check_oe_bcva_tot_mismatch","category":"OPHTH","priority":"High","domains":"oe","xls_title":"OE BCVA Total Mismatch","pdf_title":"OPHTHALMOLOGY: Check for mismatch of Derived vs. Reported BCVA Total Score","pdf_subtitle":"* Total Best Corrected Visual Acuity derived as sum of A + B + C, where: \n* A = Total correct at 4m, OESTRESN for OETESTCD = 'NUMLCOR' per OETSTDTL and OESTAT is not 'NOT DONE'\n* B = 30 if A >= 20, or B = 0 if A < 20; \n* C = Total correct a 1m, OESTRESN for OETESTCD = 'NUMLCOR' per OETSTDTL and OESTAT is not 'NOT DONE'\n* Reported BCVA Total Score as OESTRESN when OECAT = 'BEST CORRECTED VISUAL ACUITY' and OETESTCD = 'VACSCORE' or 'LOGSCORE'\n* Records in which the derived and reported Total BCVA values do not match are returned\n* NOTE: Testing events based on combination of distinct USUBJID, VISIT, OELAT, OEDTC","pdf_return":"OE does not exist or failed to read","fxn_in":"OE=oe","fxn_in_roche":"OE=oe","exist_string":"exists(\"oe\")"} {"check":"check_oe_sc_lat_count_fingers","category":"OPHTH","priority":"High","domains":"oe, sc","xls_title":"OE SC Finger Eye Mismatch","pdf_title":"OPHTHALMOLOGY: Check if Post Treatment Count Fingers is completed in Study Eye","pdf_subtitle":"* This check identifies laterality mismatches in OELAT between OECAT = 'SAFETY ASSESSMENT OF LOW VISION' \n* and SC Study Eye Selection laterality (SCORRES when SCTESTCD = 'FOCID') with OS = LEFT, OD = RIGHT\n* Post Treatment Count Fingers is only done in the Study Eye. \n* Studies without the Safety Assessment of Low Vision form result in a pass","pdf_return":"OE and/or SC does not exist or failed to read","fxn_in":"OE=oe,SC=sc","fxn_in_roche":"OE=oe,SC=sc","exist_string":"exists(\"oe\") & exists(\"sc\")"} {"check":"check_pr_missing_month","category":"ALL","priority":"Low","domains":"pr","xls_title":"PR Missing Month","pdf_title":"Check for \"---\" in PR procedure dates","pdf_subtitle":"* This check looks for the string \"---\" in procedures dates, e.g. 2010---01\n* The presence of this string indicates that year and day are known, but month is not\n* While this is possible, it might be more likely that month was accidentally input as day\n* These values should be queried","pdf_return":"PR does not exist or failed to read","fxn_in":"PR=pr","fxn_in_roche":"PR=pr,preproc=roche_derive_rave_row","exist_string":"exists(\"pr\")"} {"check":"check_pr_prlat","category":"OPHTH","priority":"Low","domains":"pr","xls_title":"PR Laterality for Ocular Proc","pdf_title":"OPHTHALMOLOGY: Check for missing laterality of ocular procedures/surgeries on Prior or Concurrent Procedures/Surgeries CRF","pdf_subtitle":"* This check identifies PR records where PRLAT not populated with 'LEFT', 'RIGHT', or 'BILATERAL' \n* for PRCAT = 'PRIOR OCULAR SURGERIES AND PROCEDURES' or PRCAT = \"CONCURRENT OCULAR PROCEDURE\"","pdf_return":"PR does not exist or failed to read","fxn_in":"PR=pr","fxn_in_roche":"PR=pr,preproc=roche_derive_rave_row","exist_string":"exists(\"pr\")"} {"check":"check_qs_dup","category":"PRO","priority":"Medium","domains":"qs","xls_title":"QS duplicates","pdf_title":"Check for multiple dates at the same visit in QS","pdf_subtitle":"* This check returns records where there are different dates at a given visit per QS.QSCAT\n* Unscheduled visits are not included.","pdf_return":"QS does not exist or failed to read","fxn_in":"QS=qs","fxn_in_roche":"QS=qs","exist_string":"exists(\"qs\")"} {"check":"check_qs_qsdtc_after_dd","category":"PRO","priority":"High","domains":"ae, ds, qs","xls_title":"QS Date after Death Date","pdf_title":"Check for QS dates occurring after death date","pdf_subtitle":"* This check looks for questionnaire dates (QSDTC) that occur after death date\n* Earliest death date from AE and DS is used\n* Incomplete dates with known year and month but unknown day are imputed to the first of the month in the comparison","pdf_return":"One or more of AE/DS/QS does not exist or failed to read","fxn_in":"AE=ae,DS=ds,QS=qs","fxn_in_roche":"AE=ae,DS=ds,QS=qs","exist_string":"exists(\"ae\") & exists(\"ds\") & exists(\"qs\")"} {"check":"check_qs_qsdtc_visit_ordinal_error","category":"PRO","priority":"High","domains":"qs","xls_title":"QS Visit and Date Consistency","pdf_title":"Check for QS visit and date consistency","pdf_subtitle":"* This check looks for date/visit conformance in PRO data (QS domain)\r\n* It returns records where the date at a given visit is after the date at a subsequent visit ordering by QS.VISITNUM per QS.QSCAT\r\n* Unscheduled visits are not included.","pdf_return":"QS does not exist or failed to read","fxn_in":"QS=qs","fxn_in_roche":"QS=qs","exist_string":"exists(\"qs\")"} {"check":"check_qs_qsstat_qsreasnd","category":"PRO","priority":"Low","domains":"qs","xls_title":"QS reason ND","pdf_title":"Check for QS forms without a reason given when marked 'NOT DONE'","pdf_subtitle":"* This check flags QSSTAT completion status marked NOT DONE but QSREASND is not populated\n* Some but not all questionnaries in a study may collect Reason Not Performed information, which may yield false positives\n* This scenario for QSREASND null but NOT DONE will be flagged in Pinnacle 21","pdf_return":"QS does not exist or failed to read","fxn_in":"QS=qs","fxn_in_roche":"QS=qs","exist_string":"exists(\"qs\")"} {"check":"check_qs_qsstat_qsstresc","category":"PRO","priority":"Low","domains":"qs","xls_title":"QS values when NOT DONE","pdf_title":"Check for existing Questionnaire data when \"Not Done\" is indicated","pdf_subtitle":"* This check identifies records that indicate an instrument (QSCAT) was not done (QSTESTCD = \"QSALL\" and QSSTAT=\"NOT DONE\")\n* But other records for that instrument (QSCAT) exist with populated data (QSSTRESC) on the same date (QSDTC)\n* \"NOT DONE\" QS records are matched to answered QS records by USUBJID-VISIT-QSDTC-QSCAT","pdf_return":"QS does not exist or failed to read","fxn_in":"QS=qs","fxn_in_roche":"QS=qs","exist_string":"exists(\"qs\")"} {"check":"check_rs_rscat_rsscat","category":"ONC","priority":"Low","domains":"rs","xls_title":"RS RSCAT null but RSSCAT","pdf_title":"Check for null RSCAT when RSSCAT is populated","pdf_subtitle":"* This check returns records when there is no category but a subcategory is populated, which is unexpected mapping","mapping":"Y","pdf_return":"RS does not exist or failed to read","fxn_in":"RS=rs","fxn_in_roche":"RS=rs","exist_string":"exists(\"rs\")"} {"check":"check_rs_rsdtc_across_visit","category":"ONC","priority":"High","domains":"rs","xls_title":"RS Date Multiple Visits","pdf_title":"Check for response records (RS) with same date across multiple visits","pdf_subtitle":"* This check identifies records in RS where multiple visit values (VISIT) are given for the same date (RSDTC)\r\n* Only assessments by investigator are checked (RS.RSEVAL = INVESTIGATOR or missing or variable doesn't exist)","pdf_return":"RS does not exist or failed to read","fxn_in":"RS=rs","fxn_in_roche":"RS=rs,preproc=roche_derive_rave_row","exist_string":"exists(\"rs\")"} {"check":"check_rs_rsdtc_visit","category":"ONC","priority":"High","domains":"rs","xls_title":"RS Missing Date or Visit","pdf_title":"Check for response records with missing dates","pdf_subtitle":"* This check identifies records where response date (RS.RSDTC) is missing\n* Only assessments by investigator are checked (RS.RSEVAL = INVESTIGATOR or missing or variable doesn't exist)","pdf_return":"RS does not exist or failed to read","fxn_in":"RS=rs","fxn_in_roche":"RS=rs","exist_string":"exists(\"rs\")"} {"check":"check_rs_rsdtc_visit_ordinal_error","category":"ONC","priority":"High","domains":"rs","xls_title":"RS Visit and Date Consistency","pdf_title":"Check for RS visit and date consistency","pdf_subtitle":"* This check looks for date/visit conformance in response data (RS domain)\n* It returns records where the date at a given visit is after the date at a subsequent visit ordering by RS.VISITNUM\n* NOTE: Only overall responses by investigator are checked. Unscheduled visits are not included.","pdf_return":"RS does not exist or failed to read","fxn_in":"RS=rs","fxn_in_roche":"RS=rs","exist_string":"exists(\"rs\")"} {"check":"check_sc_dm_eligcrit","category":"OPHTH","priority":"Medium","domains":"dm, sc","xls_title":"SC Eye Eligibility Missing","pdf_title":"OPHTHALMOLOGY: Check if Study Eye met Study Eligibility criteria per SC Subject Characteristics","pdf_subtitle":"* This check identifies SCORRES with missing or a value that is not OS, OD, or OU\n* Among SCCAT = 'STUDY EYE SELECTION' and SCTESTCD = 'ELIGEYE'","pdf_return":"DM and/or SC does not exist or failed to read","fxn_in":"DM=dm,SC=sc","fxn_in_roche":"DM=dm,SC=sc","exist_string":"exists(\"dm\") & exists(\"sc\")"} {"check":"check_sc_dm_seyeselc","category":"OPHTH","priority":"High","domains":"dm, sc","xls_title":"SC Study Eye Missing","pdf_title":"OPHTHALMOLOGY: Check for missing Study Eye Selection in SC Subject Characteristics","pdf_subtitle":"* This check identifies SCORRES with missing or a value that is not OS, OD, or OU\n* Among SCCAT = 'STUDY EYE SELECTION' and SCTESTCD = 'FOCID'","pdf_return":"DM and/or SC does not exist or failed to read","fxn_in":"DM=dm,SC=sc","fxn_in_roche":"DM=dm,SC=sc","exist_string":"exists(\"dm\") & exists(\"sc\")"} {"check":"check_ss_ssdtc_alive_dm","category":"ALL","priority":"High","domains":"dm, ss","xls_title":"SS alive","pdf_title":"Check for last ALIVE status date in SS is before DM death date","pdf_subtitle":"* This check identifies Long Term Survival Follow-Up records with SSTESTCD = 'SURVSTAT' and SSORRES = 'ALIVE' \n* but SSDTC > DM.DTHDTC","pdf_return":"DM and/or SS does not exist or failed to read","fxn_in":"DM=dm,SS=ss","fxn_in_roche":"DM=dm,SS=ss","exist_string":"exists(\"dm\") & exists(\"ss\")"} {"check":"check_ss_ssdtc_dead_ds","category":"ALL","priority":"High","domains":"ds, ss","xls_title":"SS death in DS","pdf_title":"Check DEAD status in SS has corresponding death date in DS","pdf_subtitle":"* This check identifies death date discrepancies between the SS and DS domains\n* It identifies records in SS (Long Term Survival Follow-Up/Survival Sweep) indicating death (SSSTRESC = 'DEAD')\n* where SSDTC (contact date) < death date in DS (or DS death date is missing)\n* Note: Death dates in DS are derived from any disposition event","pdf_return":"DS and/or SS does not exist or failed to read","fxn_in":"DS=ds,SS=ss","fxn_in_roche":"DS=ds,SS=ss,preproc=roche_derive_rave_row","exist_string":"exists(\"ds\") & exists(\"ss\")"} {"check":"check_ss_ssdtc_dead_dthdtc","category":"ALL","priority":"High","domains":"dm, ss","xls_title":"SS death in DM","pdf_title":"Check DEAD status in SS has corresponding death date in DM","pdf_subtitle":"* This check identifies Long Term Survival Follow-Up records with SSSTRESC = 'DEAD' \n* but SSDTC (contact date) < DM.DTHDTC or DM.DTHDTC is missing","pdf_return":"DM and/or SS does not exist or failed to read","fxn_in":"DM=dm,SS=ss","fxn_in_roche":"DM=dm,SS=ss","exist_string":"exists(\"dm\") & exists(\"ss\")"} {"check":"check_ss_ssstat_ssorres","category":"ALL","priority":"High","domains":"ss","xls_title":"SS values when NOT DONE","pdf_title":"Check for non-missing Subject Alive status when \"Not Done\" is indicated","pdf_subtitle":"* This check identifies records that indicate no contact made at Long Term Survival Follow-Up assessment but Alive/Dead status given","pdf_return":"SS does not exist or failed to read","fxn_in":"SS=ss","fxn_in_roche":"SS=ss,preproc=roche_derive_rave_row","exist_string":"exists(\"ss\")"} {"check":"check_tr_dup","category":"ONC","priority":"High","domains":"tr","xls_title":"TR Duplicate Records","pdf_title":"Duplicate tumor records","pdf_subtitle":"* This check looks for duplicate tumor records (TR dataset) by the variables listed below:\n* USUBJID,TRCAT,TRTESTCD,TRLINKID (or TRLNKID),TRSPID (if available),TRDTC,TRSTRESC\n* Only assessments by investigator are checked (TR.TREVAL = INVESTIGATOR or missing or variable doesn't exist)","pdf_return":"TR does not exist or failed to read","fxn_in":"TR=tr","fxn_in_roche":"TR=tr","exist_string":"exists(\"tr\")"} {"check":"check_tr_trdtc_across_visit","category":"ONC","priority":"High","domains":"tr","xls_title":"TR Date Multiple Visits","pdf_title":"Check for LDIAM tumor results records (TR) with same date across multiple visits","pdf_subtitle":"* This check identifies LDIAM records (TR.TRTESTCD='LDIAM') where multiple visit values (VISIT) are given for the same date (TRDTC)\n* Only assessments by investigator are checked (TR.TREVAL = INVESTIGATOR or missing or variable doesn't exist)","pdf_return":"TR does not exist or failed to read","fxn_in":"TR=tr","fxn_in_roche":"TR=tr,preproc=roche_derive_rave_row","exist_string":"exists(\"tr\")"} {"check":"check_tr_trdtc_visit_ordinal_error","category":"ONC","priority":"Low","domains":"tr","xls_title":"TR Visit and Date Consistency","pdf_title":"Check for TR visit and date consistency","pdf_subtitle":"* This check looks for date/visit conformance in response data (TR domain)\n* It returns records where the date at a given visit is after the date at a subsequent visit ordering by TR.VISITNUM\n* NOTE: Only records by investigator are checked. Unscheduled visits are not included.","pdf_return":"TR does not exist or failed to read","fxn_in":"TR=tr","fxn_in_roche":"TR=tr","exist_string":"exists(\"tr\")"} {"check":"check_tr_trstresn_ldiam","category":"ONC","priority":"High","domains":"tr","xls_title":"TR Missing Longest Diameter","pdf_title":"Longest Diameter tumor records with missing values","pdf_subtitle":"* This check finds longest diameter tumor records (TRTESTCD='LDIAM') with missing measurements\n* Missing measurements may cause problems when calcluating % change in sum of longest diameter which is commonly used for waterfall plots\n* A missing lesion record at post baseline that existed at baseline can cause the sum to look smaller than it really is, giving a false indication of tumor reduction\n* Only assessments by investigator are checked (TR.TREVAL = INVESTIGATOR or missing or variable doesn't exist)","pdf_return":"TR does not exist or failed to read","fxn_in":"TR=tr","fxn_in_roche":"TR=tr,preproc=roche_derive_rave_row","exist_string":"exists(\"tr\")"} {"check":"check_ts_aedict","category":"ALL","priority":"Low","domains":"ts","xls_title":"TS Missing MedDRA","pdf_title":"Check for missing MedDRA version in TS","pdf_subtitle":"* This check identifies when the TS domain does not have TSVAL populated when TSPARMCD = \"AEDICT\"\n* It also returns when TS does not have a record with TSPARMCD = \"AEDICT\" or the latest dictionary version not populated\n* TSVAL should be populated with the MedDRA version when AAG is specified for ADAE creation","mapping":"Y","pdf_return":"TS does not exist or failed to read","fxn_in":"TS=ts","fxn_in_roche":"TS=ts","exist_string":"exists(\"ts\")"} {"check":"check_ts_cmdict","category":"ALL","priority":"Low","domains":"ts","xls_title":"TS Missing WHODrug","pdf_title":"Check for missing WHODrug version in TS","pdf_subtitle":"* This check identifies when the TS domain does not have TSVAL populated when TSPARMCD = \"CMDICT\"\n* It also returns when TS does not have a record with TSPARMCD = \"CMDICT\" or the latest dictionary version not populated\n* TSVAL should be populated with the MedDRA version when ACG is specified for ADCM creation","mapping":"Y","pdf_return":"TS does not exist or failed to read","fxn_in":"TS=ts","fxn_in_roche":"TS=ts","exist_string":"exists(\"ts\")"} {"check":"check_ts_sstdtc_ds_consent","category":"ALL","priority":"Medium","domains":"ds, ts","xls_title":"TS missing SSTDTC","pdf_title":"Check for missing SSTDTC (Study Start Date) in TS","pdf_subtitle":"* This check identifies Study Start Date issues in the TS domain (TSVAL in TSPARMCD = 'SSTDTC')\n* Effective September 15, 2021, FDA requires properly populated Study Start Date in TS or the study will meet technical rejection criteria at submission\n* If TS Study Start Date is present, further comparison is made with earliest informed consent date among enrolled subjects in the DS domain\n* Informed consent date in DS is identified in this check as DSDECOD='INFORMED CONSENT OBTAINED' and DSCAT='PROTOCOL MILESTONE' and DSSCAT starts with 'PROTOCOL'","mapping":"Y","pdf_return":"DS and/or TS does not exist or failed to read","fxn_in":"DS=ds,TS=ts","fxn_in_roche":"DS=ds,TS=ts","exist_string":"exists(\"ds\") & exists(\"ts\")"} {"check":"check_tu_rs_new_lesions","category":"ONC","priority":"High","domains":"rs, tu","xls_title":"New Lesion in TU, PD in RS","pdf_title":"Check that patients with new lesions also have an overall response of PD","pdf_subtitle":"* This check makes sure patients with a new lesion in TU (TU.TUSTRESC=NEW) also have an overall response indicating progression\n* in RS (RS.RSTESTCD = \"OVRLRESP\" and RS.RSSTRESC either \"PD\" or \"PMD\")\n* All new lesion dates for patients with no overall response indicating progression are displayed. These patients should be queried.\n* Only assessments by investigator (based on TU.TUEVAL/RS.RSEVAL) are checked","pdf_return":"RS and/or TU does not exist or failed to read","fxn_in":"RS=rs,TU=tu","fxn_in_roche":"RS=rs,TU=tu","exist_string":"exists(\"rs\") & exists(\"tu\")"} {"check":"check_tu_tudtc","category":"ONC","priority":"High","domains":"tu","xls_title":"TU Missing Date","pdf_title":"Check for tumor records with missing dates","pdf_subtitle":"* This check identifies records where tumor date (TU.TUDTC) is missing\r\n* Only assessments by investigator are checked (TU.TUEVAL = INVESTIGATOR or missing or variable doesn't exist)","pdf_return":"TU does not exist or failed to read","fxn_in":"TU=tu","fxn_in_roche":"TU=tu,preproc=roche_derive_rave_row","exist_string":"exists(\"tu\")"} {"check":"check_tu_tudtc_across_visit","category":"ONC","priority":"High","domains":"tu","xls_title":"TU Date Multiple Visits","pdf_title":"Check for tumor identification records (TU) with same date across multiple visits","pdf_subtitle":"* This check identifies records in TU where multiple visit values (VISIT) are given for the same date (TUDTC)\r\n* Only assessments by investigator are checked (TU.TUEVAL = INVESTIGATOR or missing or variable doesn't exist)","pdf_return":"TU does not exist or failed to read","fxn_in":"TU=tu","fxn_in_roche":"TU=tu,preproc=roche_derive_rave_row","exist_string":"exists(\"tu\")"} {"check":"check_tu_tudtc_visit_ordinal_error","category":"ONC","priority":"Medium","domains":"tu","xls_title":"TU Visit and Date Consistency","pdf_title":"Check for TU visit and date consistency","pdf_subtitle":"* This check looks for date/visit conformance and/or duplicate records in response data (TU domain)\n* It returns records where the date at a given visit is after the date at a subsequent visit ordering by TU.VISITNUM\n* NOTE: Only records by investigator are checked. Unscheduled visits are not included.","pdf_return":"TU does not exist or failed to read","fxn_in":"TU=tu","fxn_in_roche":"TU=tu","exist_string":"exists(\"tu\")"} {"check":"check_tu_tuloc_missing","category":"ONC","priority":"High","domains":"tu","xls_title":"TU Missing Location","pdf_title":"Check for target lesions with missing location","pdf_subtitle":"* This check identifies target lesions (TU.TUORRES=TARGET) where location (TU.TULOC) is missing\r\n* Only assessments by investigator are checked (TU.TUEVAL = INVESTIGATOR or missing or variable doesn't exist)\r\n* Patients are considered to have measurable disease at baseline if they have a target lesion before first exposure\r\n* However sometimes sites enter records with empty TU.TULOC for patients without baseline measureable disease\r\n* Records with missing TU.TULOC should be queried and either removed if that target lesion does not exist or else a location should be entered","pdf_return":"TU does not exist or failed to read","fxn_in":"TU=tu","fxn_in_roche":"TU=tu,preproc=roche_derive_rave_row","exist_string":"exists(\"tu\")"} {"check":"check_vs_height","category":"ALL","priority":"Low","domains":"vs, dm","xls_title":"VS Missing Height","pdf_title":"Patients with missing height values","pdf_subtitle":"* This check identifies patients with no recorded height across all visits\n* Height needed for calculations like body mass index, dose intensity, etc.","pdf_return":"VS and/or DM does not exist or failed to read","fxn_in":"VS=vs,DM=dm","fxn_in_roche":"VS=vs,DM=dm","exist_string":"exists(\"vs\") & exists(\"dm\")"} {"check":"check_vs_sbp_lt_dbp","category":"ALL","priority":"Low","domains":"vs","xls_title":"VS SBP lt DBP","pdf_title":"Check for SBP lt DBP in VS","pdf_subtitle":"* This check looks for vital signs systolic blood pressures less than diastolic blood pressures within the same timepoint","pdf_return":"VS does not exist or failed to read","fxn_in":"VS=vs","fxn_in_roche":"VS=vs","exist_string":"exists(\"vs\")"} {"check":"check_vs_vsdtc_after_dd","category":"ALL","priority":"High","domains":"ae, ds, vs","xls_title":"VS Dose after Death Date","pdf_title":"Check for VS dates occurring after death date","pdf_subtitle":"* This check looks for vital signs dates (VSDTC) that occur after death date\n* Earliest death date from AE and DS is used\n* Incomplete dates with known year and month but unknown day are imputed to the first of the month","pdf_return":"One or more of AE/DS/VS does not exist or failed to read","fxn_in":"AE=ae,DS=ds,VS=vs","fxn_in_roche":"AE=ae,DS=ds,VS=vs","exist_string":"exists(\"ae\") & exists(\"ds\") & exists(\"vs\")"}