myCSG © |Area: ADaM| Concept: ADQS : Full ADQS - Questionnaire Analysis Dataset | Lesson: LEASI01 : ADQSEASI - Eczema Area and Severity Index |

  • Creation of ADQSEASI Analysis dataset - Example of dermatology questionnaire:
  • Includes paramcd, paramn, param derivation
  • Includes baseline flagging and dependent variables creation - ABLFL, BASE, BASEC CHG, PCHG
  • Includes creation of an analysis flag`- ANL01FL - to select one record per analysis visit/parameter/subject Includes creation of ANL02FL - to identify postbaseline records
  • Includes creation of moderately complex five derived parameters
VARIABLE_NAMEVARIABLE_LABELTYPEGENERAL_COMMENT
STUDYID Study Identifier _ QS.STUDYID
USUBJID Unique Subject Identifier _ QS.USUBJID
QSSEQ Sequence Number _ QS.QSSEQ
ADT Analysis Date _ Populate using QS.QSDTC
ADY Analysis Relative Day _ Populate using ADSL.TRTSDT and ADQS.ADT. If ADT is on or after treatment start date then populate as the difference between ADT and TRTSDT and add one to the difference. Else if ADT is before TRTSDT then populate as the difference between ADT and TRTSDT.
VISITNUM Visit Number _ QS.VISITNUM
VISIT Visit Name _ QS.VISIT
AVISIT Analysis Visit _ Part 1:
Populate as 'Day 1' when 1<= ADY <=1.
Populate as 'Week 12' when 80<= ADY <=90.
Populate as 'Week 24' when 164<= ADY <=174.
Populate as 'Week 36' when 248<= ADY <=258.
Populate as 'Week 48' when 332<= ADY <=342.
Populate as 'Week 60' when 416<= ADY <=426.
Populate as 'Week 72' when 500<= ADY <=510.
Populate as 'Week 84' when 584<= ADY <=594.
Populate as 'Week 96' when 668<= ADY <=678.
Populate as 'Week 108' when 750<= ADY <=764.

Part 2:
Populate as 'Baseline' on the record where ABLFL is 'Y'.
AVISITN Analysis Visit (N) _ Part 1:
Populate as 1 when AVISIT='Day 1'.
Populate as 2 when AVISIT='Week 12'.
Populate as 3 when AVISIT='Week 24'.
Populate as 4 when AVISIT='Week 36'.
Populate as 5 when AVISIT='Week 48'.
Populate as 6 when AVISIT='Week 60'.
Populate as 7 when AVISIT='Week 72'.
Populate as 8 when AVISIT='Week 84'.
Populate as 9 when AVISIT='Week 96'.
Populate as 10 when AVISIT='Week 108'.

Part 2:
Populate as 0 on the record where ABLFL is 'Y'.
PARAM Parameter _ Populate as 'Head and Neck-Area Impacted' when PARAMCD='HNAREA'.
Populate as 'Head and Neck-Redness' when PARAMCD='HNRED'.
Populate as 'Head and Neck-Thickening' when PARAMCD='HNTHICK'.
Populate as 'Head and Neck-Scratching' when PARAMCD='HNSCRTCH'.
Populate as 'Head and Neck-Lichenification' when PARAMCD='HNLIC'.
Populate as 'Trunk-Area Impacted' when PARAMCD='TRAREA'.
Populate as 'Trunk-Redness' when PARAMCD='TRRED'.
Populate as 'Trunk-Thickening' when PARAMCD='TRTHICK'.
Populate as 'Trunk-Scratching' when PARAMCD='TRSCRTCH'.
Populate as 'Trunk-Lichenification' when PARAMCD='TRLIC'.
Populate as 'Upper Limbs-Area Impacted' when PARAMCD='ULAREA'.
Populate as 'Upper Limbs-Redness' when PARAMCD='ULRED'.
Populate as 'Upper Limbs-Thickening' when PARAMCD='ULTHICK'.
Populate as 'Upper Limbs-Scratching' when PARAMCD='ULSCRTCH'.
Populate as 'Upper Limbs-Lichenification' when PARAMCD='ULLIC'.
Populate as 'Lower Limbs-Area Impacted' when PARAMCD='LLAREA'.
Populate as 'Lower Limbs-Redness' when PARAMCD='LLRED'.
Populate as 'Lower Limbs-Thickening' when PARAMCD='LLTHICK'.
Populate as 'Lower Limbs-Scratching' when PARAMCD='LLSCRTCH'.
Populate as 'Lower Limbs-Lichenification' when PARAMCD='LLLIC'.
Populate as 'Head and Neck-Score' when PARAMCD='HNSCORE'.
Populate as 'Trunk-Score' when PARAMCD='TRSCORE'.
Populate as 'Upper Limbs-Score' when PARAMCD='ULSCORE'.
Populate as 'Lower Limbs-Score' when PARAMCD='LLSCORE'.
Populate as 'Total Score' when PARAMCD='TOTSCORE'.
PARAMCD Parameter Code _ Part 1: For the source records:
Populate based on the values of QSLOC and QSTESTCD.
1) Create a two letter abbreviation for each QSLOC as below:
HEAD AND NECK=HN
TRUNK=TR
UPPER LIMBS=UL
LOWER LIMBS=LL
2) Create an abbreviation for each QSTESTCD as below:
AREA=AREA
RED=RED
THICK=THICK
SCRATCH=SCRTCH
LICHEN=LIC
. 3) Concatnate the QSLOC and QSTESTCD abbreviations on a record to create PARAMCD.
Part 2: Create 5 additional derived parameters:
HNSCORE, TRSCORE, ULSCORE, LLSCORE, TOTSCORE.
See AVAL for derivation logic.
PARAMN Parameter (N) _ Populate as 101 when PARAMCD='HNAREA'.
Populate as 102 when PARAMCD='HNRED'.
Populate as 103 when PARAMCD='HNTHICK'.
Populate as 104 when PARAMCD='HNSCRTCH'.
Populate as 105 when PARAMCD='HNLIC'.
Populate as 201 when PARAMCD='TRAREA'.
Populate as 202 when PARAMCD='TRRED'.
Populate as 203 when PARAMCD='TRTHICK'.
Populate as 204 when PARAMCD='TRSCRTCH'.
Populate as 205 when PARAMCD='TRLIC'.
Populate as 301 when PARAMCD='ULAREA'.
Populate as 302 when PARAMCD='ULRED'.
Populate as 303 when PARAMCD='ULTHICK'.
Populate as 304 when PARAMCD='ULSCRTCH'.
Populate as 305 when PARAMCD='ULLIC'.
Populate as 401 when PARAMCD='LLAREA'.
Populate as 402 when PARAMCD='LLRED'.
Populate as 403 when PARAMCD='LLTHICK'.
Populate as 404 when PARAMCD='LLSCRTCH'.
Populate as 405 when PARAMCD='LLLIC'.
Populate as 106 when PARAMCD='HNSCORE'.
Populate as 206 when PARAMCD='TRSCORE'.
Populate as 306 when PARAMCD='ULSCORE'.
Populate as 406 when PARAMCD='LLSCORE'.
Populate as 501 when PARAMCD='TOTSCORE'.
AVAL Analysis Value _ Part 1 - For the source records:
Set to QSSTRESN
Part 2 - For the derived parameters:
A) For HNSCORE, TRSCORE, ULSCORE, and LLSCORE parameters:
1) Add the AVAL value on the rows for QSTESTCDs RED, THICK, SCRATCH, LICHEN per respective location. 2) Multiply with the AVAL value on respective location's AREA.
3) Multiply the resulting value in above step with the factor 0.1, 0.4, 0.3, 0.3 respectively for HNSCORE, TRTSCORE, ULSCORE, LLSCORE.
For TOTSCORE:: Add the AVAL value on HNSCORE, TRSCORE, ULSCORE, and LLSCORE parameters.
AVALC Analysis Value (C) _ For the source parameters:
Populate with QSSTRESC
BASE Baseline Value _ Populate using ADQS.AVAL on the record where ADQS.ABLFL="Y" of each parameter and subject on all records that subject and parameter.
CHG Change from Baseline _ Populate as the difference between ADQS.AVAL and ADQS.BASE on postbaseline records (ADQS.ANL02FL="Y").
PCHG Percent Change from Baseline _ Populate using ADQS.CHG and ADQS.BASE, as CHG/BASE*100 when BASE is not null and is not 0.
CRIT1 Analysis Criterion 1 _ Populate as "More than 50% Decrease" on records where PARAMCD="TOTSCORE".
CRIT1FL Criterion 1 Evaluation Result Flag _ On records where PARAMCD="TOTSCORE":
Populate as "Y" when PCHG is less than -50. Else if PCHG is not null, then populate as "N".
CRIT2 Analysis Criterion 2 _ Populate as "More than 75% Decrease" on records where PARAMCD="TOTSCORE".
CRIT2FL Criterion 2 Evaluation Result Flag _ On records where PARAMCD="TOTSCORE":
Populate as "Y" when PCHG is less than -75. Else if PCHG is not null, then populate as "N".
AWTARGET Analysis Window Target _ Populate as 1 when AVISIT='Day 1'.
Populate as 85 when AVISIT='Week 12'.
Populate as 169 when AVISIT='Week 24'.
Populate as 253 when AVISIT='Week 36'.
Populate as 337 when AVISIT='Week 48'.
Populate as 421 when AVISIT='Week 60'.
Populate as 505 when AVISIT='Week 72'.
Populate as 589 when AVISIT='Week 84'.
Populate as 673 when AVISIT='Week 96'.
Populate as 757 when AVISIT='Week 108'.
AWTDIFF Analysis Window Diff from Target _ Populate as the absolute difference between AWTARGET and ADY
AWLO Analysis Window Beginning Timepoint _ Populate as 1 when AVISIT='Day 1'.
Populate as 80 when AVISIT='Week 12'.
Populate as 164 when AVISIT='Week 24'.
Populate as 248 when AVISIT='Week 36'.
Populate as 332 when AVISIT='Week 48'.
Populate as 416 when AVISIT='Week 60'.
Populate as 500 when AVISIT='Week 72'.
Populate as 584 when AVISIT='Week 84'.
Populate as 668 when AVISIT='Week 96'.
Populate as 750 when AVISIT='Week 108'.
AWHI Analysis Window Ending Timepoint _ Populate as 1 when AVISIT='Day 1'.
Populate as 90 when AVISIT='Week 12'.
Populate as 174 when AVISIT='Week 24'.
Populate as 258 when AVISIT='Week 36'.
Populate as 342 when AVISIT='Week 48'.
Populate as 426 when AVISIT='Week 60'.
Populate as 510 when AVISIT='Week 72'.
Populate as 594 when AVISIT='Week 84'.
Populate as 678 when AVISIT='Week 96'.
Populate as 764 when AVISIT='Week 108'.
AWU Analysis Window Unit _ Populate as "DAYS" when AVQSIT is not null.
ABLFL Baseline Record Flag _ Populate as "Y" on the latest record with non-missing result on or prior to treatment start date (ADSL.TRTSDT) for each subject and parameter.
ANL01FL Analysis Flag 01 _ Populate as "Y" on the records which is closet to the target day within each analysis visit (ADQS.AVQSIT) per subject and parameter. If there exists multiple records which are equally close to the target day, choose the latest record.
ANL02FL Analysis Flag 02 _ Populate as "Y" on postbaseline records (ADQS.ADT>ADSL.TRTSDT).
Complete SAS code to generate the output is available for registered users!

Already registered! Login
Not registered, you can signup here! Signup

Dont want to register?
You can directly purchase this lesson (code+input data) here


You can purchase this lesson (code+input data) here

If you are looking to purchase subscription for full access to data and programs for all lessons (TASKS+SDTM+ADaM+TFLs), you can send us a message on +91-7330--77--66--49-- on Whatsapp.