Hi Jeroen,
AD1012 check is limited to "standard" ADaM variables explicitly defined in ADaM IG documents. It also may include some Predecessor variables from tabulation data (AE, DM, EX domains) used for traceability validation. Any new custom variables added to analysis data are out-of-scope for AD1012 check.
There are many exceptions for this check even within "standard" ADaM variables. CDISC ADaM team is very sensitive for any false-positive validation messages. To avoid them, AD1012 check algorithm is defined in this way.
Regards,
Sergiy
Hi Sergiy,
We have a variable PROTST and check AD1012 fires. The variable is not mentioned anywhere in the IG.
Thanks,
Rob
Hi Rob,
1. I think you have custom ADaM variables PROTSTC or PROTSTN in you dataset and the validator expect to find a paired variable PROTST. Validation message may be confusing.
2. We recently changed the algorithm for AD1012 rule.
- AD1012 rule was split into two different rules AD1012 and AD1012A
- Previous version of AD1012 (Secondary variable is present but its primary variable is not present) rule produced many false-positive messages especially after introduction of validation for custom variables
- AD1012 rule was modified to apply for only custom variables
- New message: Secondary custom variable is present but its primary variable is not present
- New algorithm requires a presence of paired variable for all custom variables which names end by ‘C’ or ‘N’ character. Custom variable means that it does not exist in ADaM IG or SDTM IG specifications. For example, ETHNIC or REGION variables will be ignored by new AD1012 algorithm
- AD1012 rule is downgraded to Warning
- Assigned to all datasets
- New AD1012A (Secondary variable is present but its primary variable is not present) rule is modification of previous AD1012 rule
- Algorithm of new AD1012A rule is limited to variables explicitly defined in ADaM IG specifications
- Assigned to all datasets
Kind Regards,
Sergiy
The error AD1012 is firing with "Secondary custom variable is present but its primary variable is not present" for ADCM for the following coding variables:
atc1c label='ATC Level 1 Code'
atc2c label='ATC Level 2 Code'
atc3c label='ATC Level 3 Code'
There are no associated atc1n, atc2n atc3n variables and atc1c-atc3c are not custom variables and are defined in "Analysis Data Model Structure for Occurrence Data."
How do we get this error removed.
Thanks,
M
Hi Mike,
I think you should have named your variables ATCyCD. Per the OCCDS document:
If you rename your variables to end in *CD, then they will be excluded from that check and will not trigger the rule to fire.
Thanks,
Trevor
Hi P21 team,
Sergiy wrote above that severity of AD1012 is downgraded to Warning, but in the rules (https://www.pinnacle21.com/validation-rules/adam) it has FDA Severity Error. Is it something that going to be updated or there is actually a reason why it should be an error for FDA?
Thank you.
Hi Jeroen,
I have a ploblem with this error massage.
I made weight and height variables for screeing visit with 'SC' fragment. However, the Error: 'Secondary custom variable is present but its primary variable is not present' occured for following variables: WTSC (Screening Weight) / HTSC (Height Weight)
The program seems to recognize the last letter 'C' as a suffix of the secondary variable.
Can I ignore this error message or should I modify the variable names?
Dear all,
We recently noticed that rule AD1012 doesn't fire as expected.
For example, no issue is reported when only the numeric (secondary) variable of following variable pairs is present in a BDS dataset:
BMIGR1(N), REGION1(N), TSEQPG1(N), and RACEGR1(N).
Strange enough, the error fired for RACEGR1(N) in ADSL but not for the others.
Looking into the ADaM1.0.xml config file, I don't see why this is not detected.
<val:Find ID="AD1012" PublisherID="+" Target="Metadata" oce:IgnoreContext="Yes" Message="Secondary variable is present but its primary variable is not present" Description="In a pair of corresponding character and numeric variables, the primary or most commonly used variable must be present if its secondary version describing it (*N or *C) is present. This is the generic rule to capture all instances. Specific rules 64,66,70,75,97,201 exist for other variables. PARAM and TRTP are required regardless of the presence of their N variable. Exceptions: [AVAL,AVALC] (refer to AD0198) and [BASE,BASEC]. This rule is expected to be added to CDISC ADaM Validation checks in v1.3. ADaM IG v1.0 p.10." Category="Presence" Type="Error" Variable="VARIABLE" Terms="%Variable.1%" If="VARIABLE == '%Variables[*N,*C;!*DTC;!DOSEAEON;!AEACN;!ADURN;!AESOC;!*FN;!AVALC;!BASEC;!EVNTDESC;!CNSDTDSC;!TRTPN;!PARAMN;!TRT##PN;!TRT##AN;!TRTPG#N;!TRTAG#N;!TR##PG#N;!TR##AG#N;!SMQ*SC;!SMQ*SCN]%' @and VARIABLE @re '[A-Za-z_][A-Za-z0-9_]{0,7}'" MatchExact="No"/>
Do you have any idea howcome it doesn't work for these variables?
For other variable pairs like APERIOD(C), AVISIT(N), TRTA(N), and TRTSEQP(N), the error popped up as expected when only including the secondary variable in the ADaM dataset.
A similar issue is seen for rule AD1011 (Secondary variable APERIODC is populated but its primary variable APERIOD is not populated) for population, eg, detected for AVISIT(N) but not for TRTSEQP(N) when only secondary variable is populated.
Thanks for looking into this,
Jeroen (SGS Life Sciences)