wiki:Hicdep_1.70/QaChecks

QA checks

This page lists all QA checks currently defined for HICDEP 1.70. The attached QA.csv file also serves as data source for the QA sections in the articles describing the individual tables.

Checks added in so far have been collated from 3 sources:

  • CASCADE
  • EPPICC FPV/DRV mergers
  • PENTA Eurocoord merger

Checks on a table's additional fields have not been included at this stage

Only a few checks for non-HICDEP tables, non-HICDEP fields in HICDEP tables and Study-specific checks have been included at this stage for demo/testing purposes.

Error Codes

The error codes allow to unambiguously reference a certain problem with a given data set. When merging data from different cohorts, the data manager may report problems for instance as follows:

[ATC006] in tblART/ART_ID: there is no drug named 'XYZ' in the coding list

Note: the use of the error code alone is not sufficient to locate a problem since some of them are fairly generic.

Used like above, error codes can help to clearly communicate issues. This holds especially if the QA requirements are being checked by an automatic system.

QA checks listed nowhere else

These are QA checks which are either not directly applicable to a specific table or to tables which are not (yet) part of HICDEP.

Table Crosstable Error Code Description Study specific HICDEP?
AppendixCrossTableGC001New patients who were not submitted last time we did this mergerEPPICC NO
AppendixCrossTableGC002Patients left out who were submitted last time we did this mergerEPPICC NO
tblAE_NEWCrossTableANC001tblBAS says AE_FPV=1, yet records in tblAE_NEW whilst on FPVEPPICC NO
tblAE_NEWCrossTableANC002AE_DRUG not reported in tblART or tblMED EPPICC NO
tblARTWithinTableAW003ART_RS=98 yet ART_OTH is nullEPPICC NO
tblMEDWithinTableMW002MED_ONG=0 and MED_ED null EPPICC NO
tblMEDWithinTableMW003MED_ONG=1 and MED_ED non-null EPPICC NO
AppendixCrossTableGC003Spot-check dates to ensure no Excel date-zero errorsEPPICC NO
tblAE_NADMWithinTableANDW001Duplicate records for same EVENT_IDEPPICC NO
tblAE_NADMCrossTableANDC001EVENT_ID doesn't exist in tblAE_NEWEPPICC NO
tblAE_NADMWithinTableANDW002Missing PatientEPPICC NO
tblAE_NADMWithinTableANDW003Missing EVENT_IDEPPICC NO
tblAE_NADMWithinTableANDW004Missing CANTYP_TEPPICC NO
tblAE_NADMWithinTableANDW005Missing PATREP_SEPPICC NO
tblAE_NADMWithinTableANDW006DIAOTH_Y=1 and DIA_S is missingEPPICC NO
tblAE_NADMCrossTableANDC002PATIENT doesn't exist in tblBASEPPICC NO
tblAE_NEWCrossTableANC003PATIENT has no record in BASEPPICC NO
tblAE_NEWCrossTableANC004AE happened before that drug was startedEPPICC NO
tblAE_NEWWithinTableANW001More than one record for same patient on same date with same AE_IDEPPICC NO
tblAE_NEWWithinTableANW002More than one record for same patient with same EVENT_IDEPPICC NO
tblAE_NEWWithinTableANW003Missing PATIENTEPPICC NO
tblAE_NEWWithinTableANW004Missing AE_DEPPICC NO
tblAE_NEWWithinTableANW005Missing AE_IDEPPICC NO
tblAE_NEWWithinTableANW006Missing EVENT_IDEPPICC NO
tblAE_NEWWithinTableANW007Missing AE_RESEPPICC NO
tblAE_NEWWithinTableANW008Missing AE_TEXTEPPICC NO
tblAE_NEWWithinTableANW009Missing AE_DRUGEPPICC NO
tblAE_NEWCrossTableANC005AE_ART=1 but doesn't agree with records in ART tableEPPICC NO

All QA checks

A complete list of all QA checks listed in the QA.csv file:

Table Crosstable Error Code Description Study specific HICDEP?
AllTablesCrossTableATC001any date in database after DEATH_D in tblLTFUYES
AllTablesCrossTableATC002any date in database after DROP_D in tblLTFUYES
AllTablesCrossTableATC003any date in database before BIRTH_D in tblBASYES
AllTablesCrossTableATC004any date in database in the futureYES
AllTablesCrossTableATC005patients submitted previously who have been missed outYES
AllTablesCrossTableATC006Any fields not coded as coding lists on table definitionYES
AppendixCrossTableGC001New patients who were not submitted last time we did this mergerEPPICC NO
AppendixCrossTableGC002Patients left out who were submitted last time we did this mergerEPPICC NO
tblAE_NEWCrossTableANC001tblBAS says AE_FPV=1, yet records in tblAE_NEW whilst on FPVEPPICC NO
tblAE_NEWCrossTableANC002AE_DRUG not reported in tblART or tblMED EPPICC NO
tblARTWithinTableAW001ART_RS not null, but end date NULLYES
tblARTWithinTableAW002ART_RS null but end-date non NULLYES
tblARTWithinTableAW003ART_RS=98 yet ART_OTH is nullEPPICC NO
tblARTWithinTableAW004Duplicate records for same cohort, patient, art_id and art_sdYES
tblARTWithinTableAW005Dose out of range for those dose units and frequencyPaediatricOnlyYES
tblARTWithinTableAW006Missing art_fr PaediatricOnlyYES
tblARTWithinTableAW007Missing art_do PaediatricOnlyYES
tblARTWithinTableAW008Missing patient YES
tblARTWithinTableAW009Missing art_id YES
tblARTWithinTableAW010Missing art_sdYES
tblARTWithinTableAW011Overlapping periods of same drugYES
tblARTWithinTableAW012Double reporting - records reported for both combination drugs and their components YES
tblARTWithinTableAW013Periods of overlap of contra-indicated drugsYES
tblARTWithinTableAW014Restart of same drug without a stop YES
tblARTWithinTableAW015ART_SD greater than or equal to ART_EDYES
tblARTCrossTableAC001Patient has no record in table BASYES
tblARTCrossTableAC002Records exist in tblART yet RECART_Y=0 in tblBASYES
tblBASWithinTableBW001AIDS date < SEROCO_DYES
tblBASWithinTableBW002Duplicate patientsYES
tblBASWithinTableBW003First 3 chars of PATIENT don't form valid cohort codeCascadeOnlyYES
tblBASWithinTableBW004Missing PATIENTYES
tblBASWithinTableBW005Missing CENTERYES
tblBASWithinTableBW006Missing BIRTH_DYES
tblBASWithinTableBW007Missing FRSVIS_DYES
tblBASWithinTableBW008Missing ENROL_DYES
tblBASWithinTableBW009Missing GENDERYES
tblBASWithinTableBW010Missing HEIGHYES
tblBASWithinTableBW011Missing MODEYES
tblBASWithinTableBW012Missing MODE_OTH if MODE=90YES
tblBASWithinTableBW013Missing ORIGINYES
tblBASWithinTableBW014Missing ETHNICYES
tblBASWithinTableBW015Missing SEROCO_DYES
tblBASWithinTableBW016Missing RECART_YYES
tblBASWithinTableBW017Missing AIDS_YYES
tblBASWithinTableBW018Missing AIDS_D if AIDS_Y=1YES
tblBASWithinTableBW019BIRTH_D out of range (15-85 yrs)CascadeOnlyYES
tblBASWithinTableBW020BIRTH_D out of range (<18)PENTAYES
tblBASCrossTableBC001RECART_Y=1 but no records in tblART YES
tblBASCrossTableBC002AIDS_Y=0, but AIDS-defining records in tblDISYES
tblBASCrossTableBC003AIDS_Y=1 but no AIDS-defining records in tblDIS tableYES
tblDISWithinTableDW001Duplicate records for same DIS_ID and same DIS_DYES
tblDISWithinTableDW002Miscoded DIS_WD as codes on table definitionYES
tblDISWithinTableDW003Miscoded DIS_ID - as in code list attached to table definitionYES
tblDISWithinTableDW004DIS_D missingYES
tblDISWithinTableDW005DIS_ID missingYES
tblDISWithinTableDW006Same event recorded twice - 2 records, same DIS_ID, DIS_D within 6 monthsYES
tblDISWithinTableDW007DIS_ED present but before DIS_DYES
tblDISCrossTableDC001Patient has no record in BASYES
tblDISCrossTableDC002AIDS-defining records, yet AIDS=0 in tblBASYES
tblDISCrossTableDC003First AIDS-defining DIS_D not equal to AIDS_D in tblBASYES
tblLABWithinTableLW001Duplicate recordsYES
tblLABWithinTableLW002Missing LAB_DYES
tblLABWithinTableLW003Missing LAB_VYES
tblLABWithinTableLW004Missing LAB_UYES
tblLABWithinTableLW005Missing LAB_IDYES
tblLABWithinTableLW008Missing LAB_FAYES
tblLABWithinTableLW009Missing LAB_STYES
tblLABWithinTableLW010LAB_V out of range for unit LAB_UYES
tblLABCrossTableLC001Patient has no record in BAS tableYES
tblLAB_CD4WithinTableCW001CD4 value out of rangeYES
tblLAB_CD4WithinTableCW002Duplicate records for same dateYES
tblLAB_CD4WithinTableCW003Missing CD4_DYES
tblLAB_CD4WithinTableCW004Missing CD4_VYES
tblLAB_CD4WithinTableCW005Missing CD4_UYES
tblLAB_CD4WithinTableCW006Miscoded CD4_U as coding list on table definitionYES
tblLAB_CD4WithinTableCW007CD4_U=2 (percentage) and CD4_V>100YES
tblLAB_CD4WithinTableCW008CD4_U=(1 or 3) and CD4_V>3000YES
tblLAB_CD4WithinTableCW009CD4 counts spike up or down suddenly (large change in less than a year)YES
tblLAB_CD4CrossTableCC001Patient has no record in BASYES
tblLAB_RESWithinTableLRW001Duplicate records for same patient on same dateYES
tblLAB_RESWithinTableLRW002Missing PATIENTYES
tblLAB_RESWithinTableLRW003Missing TEST_IDYES
tblLAB_RESWithinTableLRW004Missing SAMPLE_DYES
tblLAB_RESWithinTableLRW005Missing SEQ_DTYES
tblLAB_RESWithinTableLRW006Missing LABYES
tblLAB_RESWithinTableLRW007Missing LIBRARYYES
tblLAB_RESWithinTableLRW008Missing REFSEQYES
tblLAB_RESWithinTableLRW009Missing KITYES
tblLAB_RESWithinTableLRW010Missing SOFTWAREYES
tblLAB_RESWithinTableLRW011Missing TESTTYPEYES
tblLAB_RESWithinTableLRW012Missing SUBTYPEYES
tblLAB_RESWithinTableLRW013SEQ_DT has no time partYES
tblLAB_RESWithinTableLRW014Missing VIRUSTYPEYES
tblLAB_RESCrossTableLRC001PATIENT has no record in tblBASYES
tblLAB_RESCrossTableLRC002This TEST_ID has both LVL_1 and LVL_2 recordsYES
tblLAB_RES CrossTableLRC003TESTTYPE in (1,9) (i.e. not phenotype) yet no records in LVL_1 or LVL_2YES
tblLAB_RES_LVL_1WithinTableL1W001Duplicate records per TEST_ID and SEQTYPEYES
tblLAB_RES_LVL_1WithinTableL1W002SEQ_START > SEQ_STOPYES
tblLAB_RES_LVL_1WithinTableL1W003SEQ_NUC contains invalid IUPAC characterYES
tblLAB_RES_LVL_1WithinTableL1W004Missing TEST_IDYES
tblLAB_RES_LVL_1WithinTableL1W005Missing SEQ_STARTYES
tblLAB_RES_LVL_1WithinTableL1W006Missing SEQ_STOPYES
tblLAB_RES_LVL_1WithinTableL1W007Missing SEQ_NUCYES
tblLAB_RES_LVL_1CrossTableL1C001TEST_ID not in tblLAB_RES.TEST_IDYES
tblLAB_RES_LVL_2WithinTableL2W001AA_FOUND_x but nothing in AA_FOUND(x-1)YES
tblLAB_RES_LVL_2WithinTableL2W002Duplicate records per TEST_ID, GENE, AA_POS and AA_POS_SUBYES
tblLAB_RES_LVL_2WithinTableL2W003Missing TEST_IDYES
tblLAB_RES_LVL_2WithinTableL2W004Missing GENEYES
tblLAB_RES_LVL_2WithinTableL2W005Missing AA_POSYES
tblLAB_RES_LVL_2WithinTableL2W006Missing AA_POS_SUBYES
tblLAB_RES_LVL_2WithinTableL2W007Missing AA_FOUND_1YES
tblLAB_RES_LVL_2CrossTableL2C001TEST_ID not in tblLAB_RES.TEST_IDYES
tblLAB_RES_LVL_3WithinTableL3W001Duplicate records for same TEST_ID and ATC_CODEYES
tblLAB_RES_LVL_3WithinTableL3W002Missing TEST_IDYES
tblLAB_RES_LVL_3WithinTableL3W003Missing ATC_CODEYES
tblLAB_RES_LVL_3WithinTableL3W004Missing RES_SCORYES
tblLAB_RES_LVL_3CrossTableL3C001TEST_ID not in tblLAB_RES.TEST_IDYES
tblLAB_RNAWithinTableRW001Duplicate records for same RNA_DYES
tblLAB_RNAWithinTableRW002RNA_V < 0 and RNA_L missingYES
tblLAB_RNAWithinTableRW003RNA_V > 10 000 and (RNA_V modulo 1000) = 1 and RNA_UL missingYES
tblLAB_RNAWithinTableRW004Missing RNA_D YES
tblLAB_RNAWithinTableRW005Missing RNA_V YES
tblLAB_RNAWithinTableRW006RNA_V > 10 millionYES
tblLAB_RNAWithinTableRW007RNA_V < RNA_L and RNA_V >= 0YES
tblLAB_RNAWithinTableRW008RNA_V > RNA_ULYES
tblLAB_RNACrossTableRC001Patient has no record in BASYES
tblLAB_VIROCrossTableLVC001Patient doesn't have a record in BASYES
tblLAB_VIROWithinTableLVW002Missing patient YES
tblLAB_VIROWithinTableLVW003Missing VS_IDYES
tblLAB_VIROWithinTableLVW004Missing VS_DYES
tblLAB_VIROWithinTableLVW005Missing VS_RYES
tblLAB_VIROWithinTableLVW006Missing VS_VYES
tblLAB_VIROWithinTableLVW007Missing VS_UYES
tblLAB_VIROWithinTableLVW008More or less than exactly 1 positive HIV test per patientYES
tblLAB_VIROWithinTableLVW009More than 1 negative HIV test for a patientYES
tblLAB_VIROWithinTableLVW010Date of negative test after date of positive testYES
tblLAB_VIROWithinTableLVW011Duplicate recordsYES
tblLTFUWithinTableLFW001DROP_Y and DEATH_Y both non-nullYES
tblLTFUWithinTableLFW002DEATH_Y and DROP_RS both non-null YES
tblLTFUWithinTableLFW003Any of DEATH_Rx or DEATH_RCx non-null but DEATH_Y=0YES
tblLTFUWithinTableLFW004R2/RC2 non-null but R1/RC1 nullYES
tblLTFUWithinTableLFW005R3/RC3 non-null but R2/RC2 nullYES
tblLTFUWithinTableLFW006Duplicate patientsYES
tblLTFUWithinTableLFW007Missing DROP_YYES
tblLTFUWithinTableLFW008Missing DROP_D if DROP_Y=1YES
tblLTFUWithinTableLFW009Missing DROP_RS if DROP_Y=1YES
tblLTFUWithinTableLFW010Missing DEATH_YYES
tblLTFUWithinTableLFW011Missing DEATH_D if DEATH_Y=1YES
tblLTFUWithinTableLFW012DEATH_D non null but DEATH_Y=0YES
tblLTFUCrossTableLFC001Patient not found in tblBASYES
tblLTFUCrossTableLFC002patient in tblBAS hasn't got a record in tblLTFUYES
tblLTFUCrossTableLFC003tblBAS has AIDS=0 but DEATHRx =8.1 YES
tblMEDWithinTableMW001Duplicate recordsYES
tblMEDWithinTableMW002MED_ONG=0 and MED_ED null EPPICC NO
tblMEDWithinTableMW003MED_ONG=1 and MED_ED non-null EPPICC NO
tblMEDWithinTableMW004Missing MED_IDYES
tblMEDWithinTableMW005Missing MED_SDYES
tblMEDWithinTableMW006Misisng MED_EDYES
tblMEDWithinTableMW007Overlapping periods of same drugYES
tblMEDWithinTableMW008MED_ED < MED_SDYES
tblMEDWithinTableMW009MED_RS not null, but end date NULLYES
tblMEDCrossTableMC001Patient has no records in tblBASYES
tblOVERLAPWithinTableOW001Invalid other cohortYES
tblOVERLAPCrossTableOC001PATIENT not found in tblBAS for that cohortYES
tblOVERLAPCrossTableOC002PAT_OTH not found in tblBAS for that overlapping cohortYES
tblVISWithinTableVW001Duplicate records, same VIS_DYES
tblVISWithinTableVW002Height decreasing over time YES
tblVISWithinTableVW003Height out of acceptable rangeYES
tblVISWithinTableVW004Weight out of acceptable rangeYES
tblVISCrossTableVC001patient has no record in BAS tableYES
tblVISCrossTableVC002No weights within 3 mths of starting FPV/DRVEPPICC YES
AppendixCrossTableGC003Spot-check dates to ensure no Excel date-zero errorsEPPICC NO
tblAE_NADMWithinTableANDW001Duplicate records for same EVENT_IDEPPICC NO
tblAE_NADMCrossTableANDC001EVENT_ID doesn't exist in tblAE_NEWEPPICC NO
tblAE_NADMWithinTableANDW002Missing PatientEPPICC NO
tblAE_NADMWithinTableANDW003Missing EVENT_IDEPPICC NO
tblAE_NADMWithinTableANDW004Missing CANTYP_TEPPICC NO
tblAE_NADMWithinTableANDW005Missing PATREP_SEPPICC NO
tblAE_NADMWithinTableANDW006DIAOTH_Y=1 and DIA_S is missingEPPICC NO
tblAE_NADMCrossTableANDC002PATIENT doesn't exist in tblBASEPPICC NO
tblAE_NEWCrossTableANC003PATIENT has no record in BASEPPICC NO
tblAE_NEWCrossTableANC004AE happened before that drug was startedEPPICC NO
tblAE_NEWWithinTableANW001More than one record for same patient on same date with same AE_IDEPPICC NO
tblAE_NEWWithinTableANW002More than one record for same patient with same EVENT_IDEPPICC NO
tblAE_NEWWithinTableANW003Missing PATIENTEPPICC NO
tblAE_NEWWithinTableANW004Missing AE_DEPPICC NO
tblAE_NEWWithinTableANW005Missing AE_IDEPPICC NO
tblAE_NEWWithinTableANW006Missing EVENT_IDEPPICC NO
tblAE_NEWWithinTableANW007Missing AE_RESEPPICC NO
tblAE_NEWWithinTableANW008Missing AE_TEXTEPPICC NO
tblAE_NEWWithinTableANW009Missing AE_DRUGEPPICC NO
tblAE_NEWCrossTableANC005AE_ART=1 but doesn't agree with records in ART tableEPPICC NO
tblDELIVERY_CHILDCrossTableDCC001MOTHER_ID doesn't exist in tblPREGYES
tblDELIVERY_CHILDCrossTableDCC002CHILD_ID doesn't exist in tblPREG_OUTYES
tblDELIVERY_CHILDWithinTableDCW001Duplicate records for same Mother_ID, CHILD_ID YES
tblDELIVERY_CHILDWithinTableDCW002B_SEQ >4YES
tblDELIVERY_CHILDWithinTableDCW003B_SEQ>1, but no record exists for same Mother, Child with B_SEQ=1YES
tblDELIVERY_CHILDWithinTableDCW005DELIV_D < MEMRUP_DYES
tblDELIVERY_CHILDWithinTableDCW004LABOUR_P >72YES
tblDELIVERY_CHILDWithinTableDCW0062 children, same mother, same MEMRUP_D, DELIV_D >DELIV_D , yet B_SEQ< B_SEQYES
tblDELIVERY_MUMCrossTableDMC001MOTHER_ID doesn't exist in tblPREGYES
tblDELIVERY_MUMCrossTableDMC002MOTHER_ID doesn't exist in tblDELIVERY_CHILD with same MEMRUP_DYES
tblDELIVERY_MUMWithinTableDMW001PREG_SEQ invalid (PREG_SEQ>1 and PREG_SEQ=x, but PREG_SEQ=x-1 doesn't exist)YES
tblDELIVERY_MUMWithinTableDMW002DISCHA_D < MEMRUP_DYES
tblDELIVERY_MUMWithinTableDMW004INTERV=0-3 but INTERV_O non nullYES
tblDELIVERY_MUMWithinTableDMW003INTERV=90,91, 92 or 93 but INTERV_O nullYES
tblNEWBORNCrossTableNC001CHILD_ID doesn't exist in tblDELIVERY_CHILDYES
tblNEWBORNCrossTableNC002ABNORM_Y = 1, yet no records in tblNEWBORN_ABNORMYES
tblNEWBORNCrossTableNC003ABNORM_Y = 0 or 9, yet records in tblNEWBORN_ABNORMYES
tblNEWBORNWithinTableNW001BRFEED_SD>BRFEED_EDYES
tblNEWBORNWithinTableNW002APGARM_x's out of order (e.g APGARM_3 < APGARM_2)YES
tblNEWBORNWithinTableNW003ICU_Y=1, but ICU_S or ICS_D nullYES
tblNEWBORNWithinTableNW004ICU_Y=0 or 9, but ICU_S or ICU_D non nullYES
tblNEWBORN_ABNORMCrossTableNAC001CHILD_ID doesn't exist in NEWBORNYES
tblNEWBORN_ABNORMWithinTableNAW001ABNORM_T=90 but ABNORM_S nullYES
tblPREG_OBSCrossTablePOC001MOTHER_ID+PREG_SEQ doesn't exist in tblPREGYES
tblPREG_OBSWithinTablePOW001PROB_T=99 but PROB_S nullYES
tblPREG_OBSWithinTablePOW002PROB_T<>99 but PROB_S non nullYES
tblPREG_OBSWithinTablePOW003PROB_T=2 but CERVIX_S nullYES
tblPREG_OBSWithinTablePOW003PROB_T<>2 but CERVIX_S non nullYES
tblPREG_OUTCrossTablePTC001MOTHER_ID+PREG_SEQ doesn't exist in tblPREGYES
tblPREG_OUTCrossTablePTC002OUTCOM=1,2 or 3 and CHILD_ID doesn't exisit in tblNEWBORN or tblDELIVERYCHILDYES
tblPREG_OUTCrossTablePTC003OUTCOM=10,11,20 or 21 and CHILD_ID exists in tblNEWBORN or tblDELIVERYCHILDYES
tblPREG_OUTWithinTablePTW001OUTCOME=20 or 21 and OUTCOM_R nullYES
tblPREG_OUTWithinTablePTW002OUTCOME not 20 or 21 and OUTCOM_R non nullYES
tblPREGWithinTablePW001ANC_D YES
tblPREGWithinTablePW002INPREG_Y=2,3,4 but INHIST_Y nullYES
tblPREGWithinTablePW003INPREG_Y=1 but INHIST_Y non nullYES
tblPREGWithinTablePW004INHIST_Y=1 but INHIST_S nullYES
tblPREGWithinTablePW004INHIST_Y=0 or 9 but INHIST_S non nullYES
tblPREGWithinTablePW005KARYO_T=2 but KARYO_A nullYES
tblPREGWithinTablePW006KARYO_T<>2 but KARYO_A non nullYES
tblPREGWithinTablePW007ULTRA_x =2, but ULTR_A_x nullYES
tblPREGWithinTablePW008ULTRA_x <>2, but ULTR_A_x non nullYES
tblPREGCrossTablePC001PROB_Y = 1 but no records in tblPREG_OBSYES
tblPREGCrossTablePC002PROB_Y = 0 or 9 but records in tblPREG_OBSYES
tblREFILLCrossTablePRC001Patient doesn't have a record in BASYES
tblREFILLWithinTablePRW002Missing PATIENTYES
tblREFILLWithinTablePRW003Missing REFILL_DYES
tblREFILLWithinTablePRW004Missing DRUG_IDYES
tblREFILLWithinTablePRW005Missing SUPPLYYES
tblREFILLWithinTablePRW006SUPPLY < 1YES

Last modified 5 years ago Last modified on 11/16/12 14:08:17

Attachments (1)

Download all attachments as: .zip