Hi David,
Now Pinnacle 21 validation for these rules is limited. Current algorithm compare values in AVAL and AVALC up to 8 numbers after the decimal point. So, it will generate validation warnings in you cases which you need to explain like limitation of Pinnacle 21 validation in Reviewer's Guide.
We are still considering different solutions to improve these rules.
Sorry for inconvenience.
Kind Regards,
Sergiy
Hi David,
Please see Section 3.3.4.2 of the ADaMIG v1.2, where it explains the relationship between AVAL and AVALC. Here's an excerpt from the third paragraph:
For most parameters, only AVAL or AVALC will be populated, not both. That both --STRESC and --STRESN are present and populated in SDTM Findings class domains does not imply that both AVAL and AVALC must be present and populated in BDS datasets. AVAL and AVALC have a different purpose than --STRESN and --STRESC. For example, for parameters corresponding to numeric tests in SDTM Findings class domains, it is not recommended to copy SDTM --STRESC into AVALC, because there is no analysis need for a character value.
If you need a formatted value of AVAL for the listings, there are several options. You can always bring --STRESN or --STRESC into your ADaM dataset- that's encouraged, especially if you have values that are above or below the limits of quantification, which have resulted in AVAL being imputed. You could also create a new ADaM variable specifically for the listings.
Hope this helps,
Nancy
This question might be better aimed at CDISC, but I figure it couldn't hurt to ask here.
There are a couple of papers which offer guidance for avoiding the 1-1 mapping warning for AVAL and AVALC (AD0149/AD0149B). Things like:
https://www.lexjansen.com/wuss/2017/79_Final_Paper_PDF.pdf
https://www.pharmasug.org/proceedings/2012/DS/PharmaSUG-2012-DS16.pdf
However, neither of these papers explain how to consistently create derived records, where AVALC is a rounded version of AVAL, which avoids the warning.
Suppose (within a single PARAMCD) I need to compute an average and then present that in a listing to 1 dp. For example, let's say AVAL = 45.333333 so for the listing I want to show 45.3. I've computed an average for another subject where AVAL = 45.26 which I also want to show as 45.3 in a listing. If AVALC = 45.3 for both records, warning AD0149/AD0149B will fire. I obviously can't round AVAL, because that would represent a loss of numerical precision in other calculations.
One solution might be "do not populate AVALC, do the rounding when producing the report". However, this leaves a lot of work in the reporting program if many parameters are to be listed; the programmer would have to determine the rounding on a per-parameter basis. Ideally the "heavy lifting" should already have been done at the dataset level.
Any help is much appreciated.
David O.