{
  "_id": "6a1ef621b401979e73417060",
  "Package": "sdtmchecks",
  "Title": "Data Quality Checks for Study Data Tabulation Model (SDTM)\nDatasets",
  "Version": "1.0.0.01",
  "Authors@R": "c(\nperson(given=\"Will\",\nfamily=\"Harris\",\nemail=\"harric17@gene.com\",\nrole = c(\"aut\", \"cre\")),\nperson(given=\"Sara\",\nfamily=\"Bodach\",\nrole = \"aut\"),\nperson(given=\"Edgar\",\nfamily=\"Manukyan\",\nrole = \"aut\"),\nperson(given=\"Adrian\",\nfamily=\"Waddell\",\nrole = \"aut\"),\nperson(given=\"Ross\",\nfamily=\"Farrugia\",\nrole = \"aut\"),\nperson(given=\"F. Hoffmann-La Roche AG\",\nrole = c(\"cph\", \"fnd\"))\n)",
  "Description": "A series of checks to identify common issues in Study Data\nTabulation Model (SDTM) datasets. These checks are intended to\nbe generalizable, actionable, and meaningful for analysis.",
  "License": "Apache License (>= 2)",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "LazyData": "true",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.2.3",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "URL": "https://pharmaverse.github.io/sdtmchecks/,\nhttps://github.com/pharmaverse/sdtmchecks",
  "BugReports": "https://github.com/pharmaverse/sdtmchecks/issues",
  "Repository": "https://pharmaverse.r-universe.dev",
  "Date/Publication": "2024-12-14 19:58:00 UTC",
  "RemoteUrl": "https://github.com/pharmaverse/sdtmchecks",
  "RemoteRef": "HEAD",
  "RemoteSha": "fb35f8b33adc3548c2b1531fab1f65a7e8360492",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-19 06:42:38 UTC",
    "User": "root"
  },
  "Author": "Will Harris [aut, cre],\nSara Bodach [aut],\nEdgar Manukyan [aut],\nAdrian Waddell [aut],\nRoss Farrugia [aut],\nF. Hoffmann-La Roche AG [cph, fnd]",
  "Maintainer": "Will Harris <harric17@gene.com>",
  "MD5sum": "91f4e430f72e5d6f2bc4b80e885ebe8d",
  "_user": "pharmaverse",
  "_type": "src",
  "_file": "sdtmchecks_1.0.0.01.tar.gz",
  "_fileid": "af3d035219951fde266d6f381b0a7dd8783b45489a3c9a7f4ad61328bd24ae87",
  "_filesize": 631633,
  "_sha256": "af3d035219951fde266d6f381b0a7dd8783b45489a3c9a7f4ad61328bd24ae87",
  "_created": "2026-05-19T06:42:38.000Z",
  "_published": "2026-06-02T15:26:25.266Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79107531043,
      "time": 149,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7076619113"
    },
    {
      "job": 79107531370,
      "time": 160,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7076621565"
    },
    {
      "job": 79107531141,
      "time": 195,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7076630037"
    },
    {
      "job": 79107531213,
      "time": 131,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7076614088"
    },
    {
      "job": 79107529892,
      "time": 170,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7076580100"
    },
    {
      "job": 79107530142,
      "time": 114,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7362182309"
    },
    {
      "job": 79107530713,
      "time": 126,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7076613141"
    },
    {
      "job": 79107531363,
      "time": 129,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7076613842"
    },
    {
      "job": 79107531078,
      "time": 127,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7076613529"
    }
  ],
  "_buildurl": "https://github.com/r-universe/pharmaverse/actions/runs/26080804759",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/pharmaverse/sdtmchecks",
  "_commit": {
    "id": "fb35f8b33adc3548c2b1531fab1f65a7e8360492",
    "author": "harriscw <36176570+harriscw@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #426 from pharmaverse/ophth_unit_tests\n\nophth unit test fixes",
    "time": 1734206280
  },
  "_maintainer": {
    "name": "Will Harris",
    "email": "harric17@gene.com"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "dplyr",
      "version": ">= 1.1.1",
      "role": "Imports"
    },
    {
      "package": "tidyselect",
      "role": "Imports"
    },
    {
      "package": "openxlsx",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "version": ">= 2.7",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    },
    {
      "package": "DT",
      "role": "Suggests"
    }
  ],
  "_owner": "pharmaverse",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_stars": 27,
  "_contributors": [
    {
      "user": "harriscw",
      "count": 169,
      "uuid": 36176570
    },
    {
      "user": "sarabodach",
      "count": 125,
      "uuid": 11697117
    },
    {
      "user": "j-lox",
      "count": 19,
      "uuid": 125990075
    },
    {
      "user": "vbshuliar",
      "count": 7,
      "uuid": 92806557
    },
    {
      "user": "fernank8",
      "count": 6,
      "uuid": 125496215
    },
    {
      "user": "rossfarrugia",
      "count": 4,
      "uuid": 82581364
    },
    {
      "user": "vrakinav",
      "count": 3,
      "uuid": 108139625
    },
    {
      "user": "laywang142",
      "count": 2,
      "uuid": 122498550
    },
    {
      "user": "alcj123",
      "count": 1,
      "uuid": 98672338
    },
    {
      "user": "manciniedoardo",
      "count": 1,
      "uuid": 53403957
    }
  ],
  "_userbio": {
    "uuid": 84541169,
    "type": "organization",
    "name": "pharmaverse"
  },
  "_downloads": {
    "count": 258,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/sdtmchecks"
  },
  "_devurl": "https://github.com/pharmaverse/sdtmchecks",
  "_pkgdown": "https://pharmaverse.github.io/sdtmchecks/",
  "_searchresults": 13,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/sdtmchecks.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/pharmaverse/sdtmchecks",
  "_realowner": "pharmaverse",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2024-07-12"
    }
  ],
  "_exports": [
    "%has_all%",
    "%has_any%",
    "%lacks_all%",
    "%lacks_any%",
    "check_ae_aeacn_ds_disctx_covid",
    "check_ae_aeacnoth",
    "check_ae_aeacnoth_ds_disctx",
    "check_ae_aeacnoth_ds_stddisc_covid",
    "check_ae_aedecod",
    "check_ae_aedthdtc_aesdth",
    "check_ae_aedthdtc_ds_death",
    "check_ae_aelat",
    "check_ae_aeout",
    "check_ae_aeout_aeendtc_aedthdtc",
    "check_ae_aeout_aeendtc_nonfatal",
    "check_ae_aerel",
    "check_ae_aesdth_aedthdtc",
    "check_ae_aestdtc_after_aeendtc",
    "check_ae_aestdtc_after_dd",
    "check_ae_aetoxgr",
    "check_ae_death",
    "check_ae_death_ds_discon",
    "check_ae_ds_partial_death_dates",
    "check_ae_dup",
    "check_ae_fatal",
    "check_ae_withdr_ds_discon",
    "check_ce_missing_month",
    "check_cm_cmdecod",
    "check_cm_cmindc",
    "check_cm_cmlat",
    "check_cm_cmlat_prior_ocular",
    "check_cm_missing_month",
    "check_dd_ae_aedthdtc_ds_dsstdtc",
    "check_dd_ae_aeout_aedthdtc",
    "check_dd_death_date",
    "check_dm_actarm_arm",
    "check_dm_ae_ds_death",
    "check_dm_age_missing",
    "check_dm_armcd",
    "check_dm_dthfl_dthdtc",
    "check_dm_usubjid_ae_usubjid",
    "check_dm_usubjid_dup",
    "check_ds_ae_discon",
    "check_ds_dsdecod_death",
    "check_ds_dsdecod_dsstdtc",
    "check_ds_dsscat",
    "check_ds_dsterm_death_due_to",
    "check_ds_duplicate_randomization",
    "check_ds_ex_after_discon",
    "check_ds_multdeath_dsstdtc",
    "check_ds_sc_strat",
    "check_dv_ae_aedecod_covid",
    "check_dv_covid",
    "check_ec_sc_lat",
    "check_eg_egdtc_visit_ordinal_error",
    "check_ex_dup",
    "check_ex_exdose_exoccur",
    "check_ex_exdose_pos_exoccur_no",
    "check_ex_exdosu",
    "check_ex_exoccur_exdose_exstdtc",
    "check_ex_exoccur_mis_exdose_nonmis",
    "check_ex_exstdtc_after_dd",
    "check_ex_exstdtc_after_exendtc",
    "check_ex_exstdtc_visit_ordinal_error",
    "check_ex_extrt_exoccur",
    "check_ex_infusion_exstdtc_exendtc",
    "check_ex_visit",
    "check_lb_lbdtc_after_dd",
    "check_lb_lbdtc_visit_ordinal_error",
    "check_lb_lbstnrlo_lbstnrhi",
    "check_lb_lbstresc_char",
    "check_lb_lbstresn_missing",
    "check_lb_lbstresu",
    "check_lb_missing_month",
    "check_mh_missing_month",
    "check_mi_mispec",
    "check_oe_bcva_1m_late_early_tot",
    "check_oe_bcva_4m_late_early_tot",
    "check_oe_bcva_4m_vs_1m_req",
    "check_oe_bcva_tot_mismatch",
    "check_oe_sc_lat_count_fingers",
    "check_pr_missing_month",
    "check_pr_prlat",
    "check_qs_dup",
    "check_qs_qsdtc_after_dd",
    "check_qs_qsdtc_visit_ordinal_error",
    "check_qs_qsstat_qsreasnd",
    "check_qs_qsstat_qsstresc",
    "check_rs_rscat_rsscat",
    "check_rs_rsdtc_across_visit",
    "check_rs_rsdtc_visit",
    "check_rs_rsdtc_visit_ordinal_error",
    "check_sc_dm_eligcrit",
    "check_sc_dm_seyeselc",
    "check_ss_ssdtc_alive_dm",
    "check_ss_ssdtc_dead_ds",
    "check_ss_ssdtc_dead_dthdtc",
    "check_ss_ssstat_ssorres",
    "check_tr_dup",
    "check_tr_trdtc_across_visit",
    "check_tr_trdtc_visit_ordinal_error",
    "check_tr_trstresn_ldiam",
    "check_ts_aedict",
    "check_ts_cmdict",
    "check_ts_sstdtc_ds_consent",
    "check_tu_rs_new_lesions",
    "check_tu_tudtc",
    "check_tu_tudtc_across_visit",
    "check_tu_tudtc_visit_ordinal_error",
    "check_tu_tuloc_missing",
    "check_vs_height",
    "check_vs_sbp_lt_dbp",
    "check_vs_vsdtc_after_dd",
    "convert_var_to_ascii",
    "create_R_script",
    "diff_reports",
    "dtc_dupl_early",
    "fail",
    "impute_day01",
    "is_sas_na",
    "lacks_msg",
    "missing_month",
    "pass",
    "report_to_xlsx",
    "roche_derive_rave_row",
    "run_all_checks",
    "run_check",
    "truncate_var_strings"
  ],
  "_datasets": [
    {
      "name": "nickname",
      "title": "Nickname for package version",
      "object": "nickname",
      "class": [
        "character"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "sdtmchecksmeta",
      "title": "Metadata for sdtmchecks",
      "object": "sdtmchecksmeta",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "check",
        "category",
        "priority",
        "domains",
        "xls_title",
        "pdf_title",
        "pdf_subtitle",
        "mapping",
        "pdf_return",
        "fxn_in",
        "fxn_in_roche",
        "exist_string"
      ],
      "rows": 109,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "check_ae_aeacn_ds_disctx_covid",
      "title": "Check for COVID-19 AE with DRUG WITHDRAWN action without \"ADVERSE EVENT\" for DS Trt Discon",
      "concept": [
        "COVID"
      ],
      "topics": [
        "check_ae_aeacn_ds_disctx_covid"
      ]
    },
    {
      "page": "check_ae_aeacnoth",
      "title": "Check for null AEACNOT1/2 when AEACNOTH = 'MULTIPLE'",
      "topics": [
        "check_ae_aeacnoth"
      ]
    },
    {
      "page": "check_ae_aeacnoth_ds_disctx",
      "title": "Check if, whenever a patient experiences an AE leading to study discontinuation, they also have a DS record indicating this.",
      "topics": [
        "check_ae_aeacnoth_ds_disctx"
      ]
    },
    {
      "page": "check_ae_aeacnoth_ds_stddisc_covid",
      "title": "Check for COVID-19 AE leading to Study Discon without DS Study Discon",
      "concept": [
        "COVID"
      ],
      "topics": [
        "check_ae_aeacnoth_ds_stddisc_covid"
      ]
    },
    {
      "page": "check_ae_aedecod",
      "title": "Check for missing AEDECOD values",
      "topics": [
        "check_ae_aedecod"
      ]
    },
    {
      "page": "check_ae_aedthdtc_aesdth",
      "title": "Check AEs with AEDTHDTC value but AESDTH not \"Y\"",
      "topics": [
        "check_ae_aedthdtc_aesdth"
      ]
    },
    {
      "page": "check_ae_aedthdtc_ds_death",
      "title": "Check for missing AEDTHDTC where DS indicates death due to AE",
      "topics": [
        "check_ae_aedthdtc_ds_death"
      ]
    },
    {
      "page": "check_ae_aelat",
      "title": "Check if AESOC has Eye, and Affected Eye is missing",
      "concept": [
        "OPHTH"
      ],
      "topics": [
        "check_ae_aelat"
      ]
    },
    {
      "page": "check_ae_aeout",
      "title": "Check for inconsistency between AE outcome (AEOUT) and death date (AEDTHDTC)",
      "topics": [
        "check_ae_aeout"
      ]
    },
    {
      "page": "check_ae_aeout_aeendtc_aedthdtc",
      "title": "Check for AE outcome (AEOUT) of 'FATAL' with non-missing resolution date that is not equal to the death date",
      "topics": [
        "check_ae_aeout_aeendtc_aedthdtc"
      ]
    },
    {
      "page": "check_ae_aeout_aeendtc_nonfatal",
      "title": "Check for non-fatal AEs with inconsistent AEOUT and AEENDTC",
      "topics": [
        "check_ae_aeout_aeendtc_nonfatal"
      ]
    },
    {
      "page": "check_ae_aerel",
      "title": "Check for AEREL1 - AERELN when AEREL is missing and when AEREL is unexpected",
      "topics": [
        "check_ae_aerel"
      ]
    },
    {
      "page": "check_ae_aesdth_aedthdtc",
      "title": "Check AEs with AESDTH of \"Y\" but No AEDTHDTC Value",
      "topics": [
        "check_ae_aesdth_aedthdtc"
      ]
    },
    {
      "page": "check_ae_aestdtc_after_aeendtc",
      "title": "Check that all AE start dates are on or before AE end dates",
      "topics": [
        "check_ae_aestdtc_after_aeendtc"
      ]
    },
    {
      "page": "check_ae_aestdtc_after_dd",
      "title": "Check for AE dates occurring after death date",
      "topics": [
        "check_ae_aestdtc_after_dd"
      ]
    },
    {
      "page": "check_ae_aetoxgr",
      "title": "Check for missing AETOXGR and/or AESEV values",
      "topics": [
        "check_ae_aetoxgr"
      ]
    },
    {
      "page": "check_ae_death",
      "title": "Check for Grade 5 AE death variable consistency",
      "topics": [
        "check_ae_death"
      ]
    },
    {
      "page": "check_ae_death_ds_discon",
      "title": "Check if death in AE then there should be a study discon form",
      "topics": [
        "check_ae_death_ds_discon"
      ]
    },
    {
      "page": "check_ae_ds_partial_death_dates",
      "title": "Check for partial death dates in AE and DS",
      "topics": [
        "check_ae_ds_partial_death_dates"
      ]
    },
    {
      "page": "check_ae_dup",
      "title": "Check for duplicate AE entries",
      "topics": [
        "check_ae_dup"
      ]
    },
    {
      "page": "check_ae_fatal",
      "title": "Check for death variable consistency when AEOUT==\"FATAL\"",
      "topics": [
        "check_ae_fatal"
      ]
    },
    {
      "page": "check_ae_withdr_ds_discon",
      "title": "Check if an AE leading to drug being withdrawn is reflected in DS",
      "topics": [
        "check_ae_withdr_ds_discon"
      ]
    },
    {
      "page": "check_ce_missing_month",
      "title": "Check for clinical events dates with year and day known but month unknown",
      "topics": [
        "check_ce_missing_month"
      ]
    },
    {
      "page": "check_cm_cmdecod",
      "title": "Check for missing CMDECOD values",
      "topics": [
        "check_cm_cmdecod"
      ]
    },
    {
      "page": "check_cm_cmindc",
      "title": "Check for concomitant medication indication with text string \"PROPHYL\" when not given for prophylaxis",
      "topics": [
        "check_cm_cmindc"
      ]
    },
    {
      "page": "check_cm_cmlat",
      "title": "Check if ocular concomitant medication has laterality missing or laterality field is populated but route is not eye-related.",
      "concept": [
        "OPHTH"
      ],
      "topics": [
        "check_cm_cmlat"
      ]
    },
    {
      "page": "check_cm_cmlat_prior_ocular",
      "title": "Check if ocular concomitant medication has laterality missing for specific \"PRIOR OCULAR THERAPIES AND TREATMENTS\" (or similar names) CRF page.",
      "concept": [
        "OPHTH"
      ],
      "topics": [
        "check_cm_cmlat_prior_ocular"
      ]
    },
    {
      "page": "check_cm_missing_month",
      "title": "Check for conmed dates with year and day known but month unknown",
      "topics": [
        "check_cm_missing_month"
      ]
    },
    {
      "page": "check_dd_ae_aedthdtc_ds_dsstdtc",
      "title": "Check if death date is the same in AE and DS domains",
      "topics": [
        "check_dd_ae_aedthdtc_ds_dsstdtc"
      ]
    },
    {
      "page": "check_dd_ae_aeout_aedthdtc",
      "title": "Check if there is a death date and AEOUT='FATAL' agreement",
      "topics": [
        "check_dd_ae_aeout_aedthdtc"
      ]
    },
    {
      "page": "check_dd_death_date",
      "title": "Check if patient with Death due to AE also has Death record in DS",
      "topics": [
        "check_dd_death_date"
      ]
    },
    {
      "page": "check_dm_actarm_arm",
      "title": "Check DM where ARM is not equal to ACTARM",
      "topics": [
        "check_dm_actarm_arm"
      ]
    },
    {
      "page": "check_dm_ae_ds_death",
      "title": "Check if death reported in DM then death indicator also present in DS or AE",
      "topics": [
        "check_dm_ae_ds_death"
      ]
    },
    {
      "page": "check_dm_age_missing",
      "title": "Check for patients with suspicious age values",
      "topics": [
        "check_dm_age_missing"
      ]
    },
    {
      "page": "check_dm_armcd",
      "title": "Check for missing ARM or ARMCD values in DM",
      "topics": [
        "check_dm_armcd"
      ]
    },
    {
      "page": "check_dm_dthfl_dthdtc",
      "title": "Check that when DM.DTHFL is Y, DM.DTHDTC does not have a missing value, and vice versa",
      "topics": [
        "check_dm_dthfl_dthdtc"
      ]
    },
    {
      "page": "check_dm_usubjid_ae_usubjid",
      "title": "Check patients in the DM dataset who do not have records in the AE dataset",
      "topics": [
        "check_dm_usubjid_ae_usubjid"
      ]
    },
    {
      "page": "check_dm_usubjid_dup",
      "title": "Check duplicate patient records in DM based on USUBJID",
      "topics": [
        "check_dm_usubjid_dup"
      ]
    },
    {
      "page": "check_ds_ae_discon",
      "title": "Check for treatment discontinuation consistency between DS and AE",
      "topics": [
        "check_ds_ae_discon"
      ]
    },
    {
      "page": "check_ds_dsdecod_death",
      "title": "Check for study discontinuation record if death indicated",
      "topics": [
        "check_ds_dsdecod_death"
      ]
    },
    {
      "page": "check_ds_dsdecod_dsstdtc",
      "title": "Check DS with death record but no death date",
      "topics": [
        "check_ds_dsdecod_dsstdtc"
      ]
    },
    {
      "page": "check_ds_dsscat",
      "title": "Check for patients with more than one study discontinuation records",
      "topics": [
        "check_ds_dsscat"
      ]
    },
    {
      "page": "check_ds_dsterm_death_due_to",
      "title": "Check missing cause of death information in DS",
      "topics": [
        "check_ds_dsterm_death_due_to"
      ]
    },
    {
      "page": "check_ds_duplicate_randomization",
      "title": "Check for duplicate randomization records for a patient",
      "topics": [
        "check_ds_duplicate_randomization"
      ]
    },
    {
      "page": "check_ds_ex_after_discon",
      "title": "Check for patients who had Start/End date of treatment after study discontinuation date",
      "topics": [
        "check_ds_ex_after_discon"
      ]
    },
    {
      "page": "check_ds_multdeath_dsstdtc",
      "title": "Check DS with multiple death records with death dates, where death dates do not match",
      "topics": [
        "check_ds_multdeath_dsstdtc"
      ]
    },
    {
      "page": "check_ds_sc_strat",
      "title": "Check if randomized patients are missing stratification factor data",
      "topics": [
        "check_ds_sc_strat"
      ]
    },
    {
      "page": "check_dv_ae_aedecod_covid",
      "title": "Check for consistency between DV and AE for COVID-19 events",
      "concept": [
        "COVID"
      ],
      "topics": [
        "check_dv_ae_aedecod_covid"
      ]
    },
    {
      "page": "check_dv_covid",
      "title": "Check for consistency in COVID-19 DV variables, DVREAS and DVEPRELI",
      "concept": [
        "COVID"
      ],
      "topics": [
        "check_dv_covid"
      ]
    },
    {
      "page": "check_ec_sc_lat",
      "title": "Check if Study Drug is not administered in the Study Eye",
      "topics": [
        "check_ec_sc_lat"
      ]
    },
    {
      "page": "check_eg_egdtc_visit_ordinal_error",
      "title": "Check that all ECG datetimes are earlier than last visit's (possible datetime data entry error)",
      "topics": [
        "check_eg_egdtc_visit_ordinal_error"
      ]
    },
    {
      "page": "check_ex_dup",
      "title": "Check for duplicate EX records",
      "topics": [
        "check_ex_dup"
      ]
    },
    {
      "page": "check_ex_exdose_exoccur",
      "title": "Check for Missing EXDOSE.",
      "topics": [
        "check_ex_exdose_exoccur"
      ]
    },
    {
      "page": "check_ex_exdose_pos_exoccur_no",
      "title": "Check for EXDOSE>0 When EXOCCUR is not \"Y\"",
      "topics": [
        "check_ex_exdose_pos_exoccur_no"
      ]
    },
    {
      "page": "check_ex_exdosu",
      "title": "Check for missing EXDOSU records",
      "topics": [
        "check_ex_exdosu"
      ]
    },
    {
      "page": "check_ex_exoccur_exdose_exstdtc",
      "title": "Check for Invalid EXDOSE (Dose per Administration) and Missing/Incomplete EXSTDTC (Start Date) Values for valid exposures",
      "topics": [
        "check_ex_exoccur_exdose_exstdtc"
      ]
    },
    {
      "page": "check_ex_exoccur_mis_exdose_nonmis",
      "title": "Check for missing EXOCCUR but EXDOSE not missing",
      "topics": [
        "check_ex_exoccur_mis_exdose_nonmis"
      ]
    },
    {
      "page": "check_ex_exstdtc_after_dd",
      "title": "Check for EX dates occurring after death date",
      "topics": [
        "check_ex_exstdtc_after_dd"
      ]
    },
    {
      "page": "check_ex_exstdtc_after_exendtc",
      "title": "Check that all exposure start dates are on or before exposure end dates",
      "topics": [
        "check_ex_exstdtc_after_exendtc"
      ]
    },
    {
      "page": "check_ex_exstdtc_visit_ordinal_error",
      "title": "Check that all EX start dates are earlier than last visit's (possible datetime data entry error)",
      "topics": [
        "check_ex_exstdtc_visit_ordinal_error"
      ]
    },
    {
      "page": "check_ex_extrt_exoccur",
      "title": "Check for EX records where EXTRT is missing",
      "topics": [
        "check_ex_extrt_exoccur"
      ]
    },
    {
      "page": "check_ex_infusion_exstdtc_exendtc",
      "title": "Check that an infusion drug has same start/end exposure dates, also including missing start/end dates",
      "topics": [
        "check_ex_infusion_exstdtc_exendtc"
      ]
    },
    {
      "page": "check_ex_visit",
      "title": "Check for missing EX.VISIT",
      "topics": [
        "check_ex_visit"
      ]
    },
    {
      "page": "check_lb_lbdtc_after_dd",
      "title": "Check for LB dates occurring after death date",
      "topics": [
        "check_lb_lbdtc_after_dd"
      ]
    },
    {
      "page": "check_lb_lbdtc_visit_ordinal_error",
      "title": "Check that all LB dates are duplicated or earlier than last visit's (possible datetime data entry error)",
      "topics": [
        "check_lb_lbdtc_visit_ordinal_error"
      ]
    },
    {
      "page": "check_lb_lbstnrlo_lbstnrhi",
      "title": "Check for missing lab reference ranges (LBSTNRLO, LBSTNRHI)",
      "topics": [
        "check_lb_lbstnrlo_lbstnrhi"
      ]
    },
    {
      "page": "check_lb_lbstresc_char",
      "title": "Check LBORRES/LBSTRESC populated with number beginning with character '>' or '<', which will yield missing AVAL in ADaM and records will be omitted in analyses such as Hy's Law",
      "topics": [
        "check_lb_lbstresc_char"
      ]
    },
    {
      "page": "check_lb_lbstresn_missing",
      "title": "Check missing standard lab values (LBSTRESN/LBSTRESC)",
      "topics": [
        "check_lb_lbstresn_missing"
      ]
    },
    {
      "page": "check_lb_lbstresu",
      "title": "Check for missing lab units (LBSTRESU)",
      "topics": [
        "check_lb_lbstresu"
      ]
    },
    {
      "page": "check_lb_missing_month",
      "title": "Check for lab dates with year and day known but month unknown",
      "topics": [
        "check_lb_missing_month"
      ]
    },
    {
      "page": "check_mh_missing_month",
      "title": "Check for MH dates with year and day known but month unknown",
      "topics": [
        "check_mh_missing_month"
      ]
    },
    {
      "page": "check_mi_mispec",
      "title": "Check for missing values in the MISPEC variable",
      "topics": [
        "check_mi_mispec"
      ]
    },
    {
      "page": "check_oe_bcva_1m_late_early_tot",
      "title": "Check if 1m BCVA test stops too late, too early and has correct total",
      "concept": [
        "OPHTH"
      ],
      "topics": [
        "check_oe_bcva_1m_late_early_tot"
      ]
    },
    {
      "page": "check_oe_bcva_4m_late_early_tot",
      "title": "Check if 4m BCVA test stops too late, too early and has correct total",
      "concept": [
        "OPHTH"
      ],
      "topics": [
        "check_oe_bcva_4m_late_early_tot"
      ]
    },
    {
      "page": "check_oe_bcva_4m_vs_1m_req",
      "title": "Check if 1m BCVA test is completed per BCVA 4m result",
      "concept": [
        "OPHTH"
      ],
      "topics": [
        "check_oe_bcva_4m_vs_1m_req"
      ]
    },
    {
      "page": "check_oe_bcva_tot_mismatch",
      "title": "Check mismatch between Derived BCVA Total Score & Total BCVA Score from Data",
      "concept": [
        "OPHTH"
      ],
      "topics": [
        "check_oe_bcva_tot_mismatch"
      ]
    },
    {
      "page": "check_oe_sc_lat_count_fingers",
      "title": "Check if Post Treatment Count Fingers in Study Eye laterality does not match with Subject Characteristics Study Eye laterality",
      "concept": [
        "OPHTH"
      ],
      "topics": [
        "check_oe_sc_lat_count_fingers"
      ]
    },
    {
      "page": "check_pr_missing_month",
      "title": "Check for procedure dates with year and day known but month unknown",
      "topics": [
        "check_pr_missing_month"
      ]
    },
    {
      "page": "check_pr_prlat",
      "title": "Check if ocular procedures/surgeries has laterality missing for CRF pages which contain the word \"OCULAR\" (and not \"NON-OCULAR\").",
      "concept": [
        "OPHTH"
      ],
      "topics": [
        "check_pr_prlat"
      ]
    },
    {
      "page": "check_qs_dup",
      "title": "Check for multiple dates at the same visit in QS",
      "topics": [
        "check_qs_dup"
      ]
    },
    {
      "page": "check_qs_qsdtc_after_dd",
      "title": "Check for QS dates occurring after death date",
      "topics": [
        "check_qs_qsdtc_after_dd"
      ]
    },
    {
      "page": "check_qs_qsdtc_visit_ordinal_error",
      "title": "Check that all QS dates are duplicated or earlier than last visit's (possible datetime data entry error)",
      "topics": [
        "check_qs_qsdtc_visit_ordinal_error"
      ]
    },
    {
      "page": "check_qs_qsstat_qsreasnd",
      "title": "Check to confirm that there is a reason for a questionnaire being marked as not done",
      "topics": [
        "check_qs_qsstat_qsreasnd"
      ]
    },
    {
      "page": "check_qs_qsstat_qsstresc",
      "title": "Check for non-missing QSSTRESC if QSSTAT is NOT DONE",
      "topics": [
        "check_qs_qsstat_qsstresc"
      ]
    },
    {
      "page": "check_rs_rscat_rsscat",
      "title": "Check for patients with populated RSSCAT but missing RSCAT.",
      "topics": [
        "check_rs_rscat_rsscat"
      ]
    },
    {
      "page": "check_rs_rsdtc_across_visit",
      "title": "Check RS records where the same date occurs across multiple visits",
      "topics": [
        "check_rs_rsdtc_across_visit"
      ]
    },
    {
      "page": "check_rs_rsdtc_visit",
      "title": "Check missing RSDTC and VISIT",
      "topics": [
        "check_rs_rsdtc_visit"
      ]
    },
    {
      "page": "check_rs_rsdtc_visit_ordinal_error",
      "title": "Check that all RS dates for INV Overall Response are duplicated or earlier than last visit's (possible date entry error)",
      "topics": [
        "check_rs_rsdtc_visit_ordinal_error"
      ]
    },
    {
      "page": "check_sc_dm_eligcrit",
      "title": "Check SC Eye Meeting Eligibility Criteria assignments among DM patients",
      "concept": [
        "OPHTH"
      ],
      "topics": [
        "check_sc_dm_eligcrit"
      ]
    },
    {
      "page": "check_sc_dm_seyeselc",
      "title": "Check SC Study Eye Selection assignments among DM patients",
      "concept": [
        "OPHTH"
      ],
      "topics": [
        "check_sc_dm_seyeselc"
      ]
    },
    {
      "page": "check_ss_ssdtc_alive_dm",
      "title": "Check non-missing last ALIVE status date in SS is before than death date in DM",
      "topics": [
        "check_ss_ssdtc_alive_dm"
      ]
    },
    {
      "page": "check_ss_ssdtc_dead_ds",
      "title": "Check non-missing DEAD status date in SS and non-missing according DS record with death date where status date is greater or equal to death date",
      "topics": [
        "check_ss_ssdtc_dead_ds"
      ]
    },
    {
      "page": "check_ss_ssdtc_dead_dthdtc",
      "title": "Check non-missing DEAD status date in SS and an according DM record with death date where status date is greater or equal to death date",
      "topics": [
        "check_ss_ssdtc_dead_dthdtc"
      ]
    },
    {
      "page": "check_ss_ssstat_ssorres",
      "title": "Check for non-missing SSORRES if SSSTAT is NOT DONE",
      "topics": [
        "check_ss_ssstat_ssorres"
      ]
    },
    {
      "page": "check_tr_dup",
      "title": "Check for duplicate TR records",
      "topics": [
        "check_tr_dup"
      ]
    },
    {
      "page": "check_tr_trdtc_across_visit",
      "title": "Check TR Longest Diameter Records where the same date occurs across multiple visits",
      "topics": [
        "check_tr_trdtc_across_visit"
      ]
    },
    {
      "page": "check_tr_trdtc_visit_ordinal_error",
      "title": "Check that all TR dates by INV are duplicated or earlier than last visit's (possible date entry error)",
      "topics": [
        "check_tr_trdtc_visit_ordinal_error"
      ]
    },
    {
      "page": "check_tr_trstresn_ldiam",
      "title": "Check for TR records with missing TRSTRESN for Longest Diameter (LDIAM)",
      "topics": [
        "check_tr_trstresn_ldiam"
      ]
    },
    {
      "page": "check_ts_aedict",
      "title": "Check for missing MedDRA version in TS",
      "topics": [
        "check_ts_aedict"
      ]
    },
    {
      "page": "check_ts_cmdict",
      "title": "Check for missing WHODrug version in TS",
      "topics": [
        "check_ts_cmdict"
      ]
    },
    {
      "page": "check_ts_sstdtc_ds_consent",
      "title": "Check for missing SSTDTC (Study Start Date) in TS",
      "topics": [
        "check_ts_sstdtc_ds_consent"
      ]
    },
    {
      "page": "check_tu_rs_new_lesions",
      "title": "Check for consistency between new lesions and overall PD response",
      "topics": [
        "check_tu_rs_new_lesions"
      ]
    },
    {
      "page": "check_tu_tudtc",
      "title": "Check for missing TUDTC values",
      "topics": [
        "check_tu_tudtc"
      ]
    },
    {
      "page": "check_tu_tudtc_across_visit",
      "title": "Check TU Records where the same date occurs across multiple visits",
      "topics": [
        "check_tu_tudtc_across_visit"
      ]
    },
    {
      "page": "check_tu_tudtc_visit_ordinal_error",
      "title": "Check that all TU dates are duplicated or earlier than last visit's (possible datetime data entry error)",
      "topics": [
        "check_tu_tudtc_visit_ordinal_error"
      ]
    },
    {
      "page": "check_tu_tuloc_missing",
      "title": "Check for missing TULOC values",
      "topics": [
        "check_tu_tuloc_missing"
      ]
    },
    {
      "page": "check_vs_height",
      "title": "Check for missing height values",
      "topics": [
        "check_vs_height"
      ]
    },
    {
      "page": "check_vs_sbp_lt_dbp",
      "title": "Check that DBP is not higher than SBP in VS",
      "topics": [
        "check_vs_sbp_lt_dbp"
      ]
    },
    {
      "page": "check_vs_vsdtc_after_dd",
      "title": "Check for VS dates occurring after death date",
      "topics": [
        "check_vs_vsdtc_after_dd"
      ]
    },
    {
      "page": "create_R_script",
      "title": "Create .R file with sdtmchecks function calls",
      "concept": [
        "utils_rpt"
      ],
      "topics": [
        "create_R_script"
      ]
    },
    {
      "page": "diff_reports",
      "title": "Create a sdtmchecks list object with column indicating whether the issue was previously seen",
      "concept": [
        "ex_rpt"
      ],
      "topics": [
        "diff_reports"
      ]
    },
    {
      "page": "run_all_checks",
      "title": "Run all data checks in sdtmchecks package using parallel processing",
      "concept": [
        "ex_rpt"
      ],
      "topics": [
        "run_all_checks"
      ]
    },
    {
      "page": "run_check",
      "title": "Run a single check in sdtmchecks package",
      "concept": [
        "ex_rpt"
      ],
      "topics": [
        "run_check"
      ]
    },
    {
      "page": "sdtmchecksmeta",
      "title": "Metadata for sdtmchecks",
      "topics": [
        "sdtmchecksmeta"
      ]
    }
  ],
  "_readme": "https://github.com/pharmaverse/sdtmchecks/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "dplyr",
    "generics",
    "glue",
    "lifecycle",
    "magrittr",
    "openxlsx",
    "pillar",
    "pkgconfig",
    "R6",
    "Rcpp",
    "rlang",
    "stringi",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "withr",
    "zip"
  ],
  "_vignettes": [
    {
      "source": "faqs.Rmd",
      "filename": "faqs.html",
      "title": "Frequently Asked Questions (FAQs)",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Using the package",
        "Data checks",
        "Relationship to other tools and data standards",
        "Package maintenance and release schedule",
        "Contributing"
      ],
      "created": "2023-06-22 08:11:13",
      "modified": "2023-12-22 21:44:00",
      "commits": 3
    },
    {
      "source": "sdtmchecks.Rmd",
      "filename": "sdtmchecks.html",
      "title": "Introduction to sdtmchecks",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setting Up",
        "Documentation",
        "Metadata",
        "Running a Check",
        "Running Many Checks",
        "Writing Out Results",
        "Making a Customizable Script"
      ],
      "created": "2022-12-02 20:26:57",
      "modified": "2023-08-26 00:06:26",
      "commits": 7
    },
    {
      "source": "search_checks.Rmd",
      "filename": "search_checks.html",
      "title": "Search Data Check Functions",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2023-06-16 05:13:00",
      "modified": "2023-06-16 05:13:00",
      "commits": 1
    },
    {
      "source": "write_a_check.Rmd",
      "filename": "write_a_check.html",
      "title": "Writing a New Check",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Background",
        "Working Collaboratively",
        "GitHub",
        "Package Dependencies",
        "Existing Checks",
        "Good Practices",
        "Example Check",
        "Additional Considerations"
      ],
      "created": "2022-10-26 20:49:06",
      "modified": "2023-08-31 22:22:06",
      "commits": 11
    }
  ],
  "_score": 6.800579621569131,
  "_indexed": true,
  "_nocasepkg": "sdtmchecks",
  "_universes": [
    "pharmaverse"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.0.01",
      "date": "2026-05-19T06:44:55.000Z",
      "distro": "noble",
      "commit": "fb35f8b33adc3548c2b1531fab1f65a7e8360492",
      "fileid": "6eb2a9866db1791ca43f80319046a097310f5fdbce8567774a956c983515ea74",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pharmaverse/actions/runs/26080804759"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.0.01",
      "date": "2026-05-19T06:44:56.000Z",
      "distro": "noble",
      "commit": "fb35f8b33adc3548c2b1531fab1f65a7e8360492",
      "fileid": "50692eb42893113d5e6c46e81db3383d9b79580e25f301365183d02117fd217e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pharmaverse/actions/runs/26080804759"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.0.01",
      "date": "2026-05-19T06:45:11.000Z",
      "commit": "fb35f8b33adc3548c2b1531fab1f65a7e8360492",
      "fileid": "26d05ebe75999f8ee8a250c93beabcfaec36e55b337f81ccd1e68898209aebc9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pharmaverse/actions/runs/26080804759"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.0.0.01",
      "date": "2026-05-19T06:44:35.000Z",
      "commit": "fb35f8b33adc3548c2b1531fab1f65a7e8360492",
      "fileid": "9ab9843bfd7d2efffc9a548498a20564a5fb1d066a5508234d1b1f1ebbedf523",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pharmaverse/actions/runs/26080804759"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.0.01",
      "date": "2026-05-19T06:44:00.000Z",
      "commit": "fb35f8b33adc3548c2b1531fab1f65a7e8360492",
      "fileid": "64f4876ec09d1aff69b3a0333b435e66d2b94585f13ef60ce66c2181f7baa586",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pharmaverse/actions/runs/26080804759"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.0.01",
      "date": "2026-05-19T06:44:02.000Z",
      "commit": "fb35f8b33adc3548c2b1531fab1f65a7e8360492",
      "fileid": "90211a6d4b5ad529751ee63d1b34544d8ac70bdfaee5b2d7f6acc785e34bca7e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pharmaverse/actions/runs/26080804759"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.0.0.01",
      "date": "2026-05-19T06:44:05.000Z",
      "commit": "fb35f8b33adc3548c2b1531fab1f65a7e8360492",
      "fileid": "3319ea21dd2da960b0fdf937dc91d605276e47b300346db8679a0cc486f975a5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pharmaverse/actions/runs/26080804759"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.0.01",
      "date": "2026-06-02T15:25:30.000Z",
      "commit": "fb35f8b33adc3548c2b1531fab1f65a7e8360492",
      "fileid": "7ddb213c2e1ec45a70511019ffd3c46d749dfd9a68f3cc529710768eedc62cab",
      "status": "success",
      "buildurl": "https://github.com/r-universe/pharmaverse/actions/runs/26080804759"
    }
  ]
}