AD1008: Null value in variable marked as Required
Hello,
The rule AD1008 checks for null values in required variables. Many ERRORS are printed due to missing values in TRTP where visit is SCREENING. At this time point I can't assign a planned treatment. Also in the documentation (CDISC ADaM Implementation Guide Version 1.0, page 51) an example displays missing values.
Please update this check.
Best regards,
Matthias
- Forums:

AD1008: Null value in variable marked as Required
Thanks Matthias. Good catch. I see what you are referring to on page 51 (Table 4.2.1.8, Creation of Endpoint Rows to Facilitate Analysis of a Crossover Design )
AD1008 wasn't an explicity published rule by the ADaM team. We applied the same logic from SDTM checks to extend any CORE REQUIRED variable that must be present in the dataset to also be POPULATED/not null. I will take the feedback to the OpenCDISC community for revision. We will also bubble up the feedback to the ADaM team.
Any suggestions on how to make this check more practical ? Is there any other variable we can check to run it conditionally, like "when AVISIT not like 'screen', then TRTP must not be null ? Or perhaps when APERIOD is not null ??
A possible solution for TRTP
A possibility would be to check only visit(num)s which can be found in ex.
Best regards,
Matthias
Possibly set TRTP = "NO_TRT"
Hi,
We have approached this issue for Screening in another way. When we have periods or visits defined as screening/washout/follow-up etc we explicitly set TRTP to be "NO_TRT" so it is clear that there is no planned treatment since we had also interpreted the Req variables as following similar rules to SDTM meaning that TRTP couldn't be null.
Though looking at table of 4.2.1.8 a possibility to handle crossovers would be apply the rule as TRTP or TRTSEQP must not be null?
Iain
That is a possibility to avoid check AD1008 but ...
This is a possibility to avoid check AD1008 but the rule should not end in an ERROR. The ADaM rule of required variables is: "Req = Required. The variable must be included in the dataset.", so null values are allowed. The check AD1008 should be deleted in the openCDISC Validator.
Best regards,
Matthias
If you delete AD1008, then
If you delete AD1008, then all these variables will allow nulls. Would it be better if the ADaM team and OpenCDISC community allowed just a select few to be null, if any ?
Most of these are defined as
Most of these are defined as "must be identical to the the SDTM". So should match the restrictions in SDTM and can be split in two - where the variable is Req in SDTM e.g. SEX then the rule can remain as SEX should not be null, however, where the variable is Exp in SDTM e.g AGE then this rule should be removed as AGE is allowed to be null in SDTM and should also be allowed to be null in ADaM.
Excluding those leaves just the 4:
ADSL.TRT01P, BDS.TRTP, BDS.PARAM and BDS.PARAMCD.
I had thought these should all be non null but this isn't what is explicitly written in the implementation guide as pointed out by Matthias.
List of Not Null variables
thank you Iain and Matthias. I will add these notes to list of potential changes for next release.
Copied SDTM variables
Don't forget that copied variables must follow the same rules and must have the same contents as the original variable. So the check is okay for required SDTM variables. Only the variables TRT01P, TRTP, PARAM and PARAMCD can have null values. From my point of view this is okay.
Best regards,
Matthias