myCSG © |Area: ADaM| Concept: ADEG : Full ADEG - ECG Analysis Dataset | Lesson: L1101 : ADEG dataset in a parallel arm study |

  • Complete program for ADEG of a parallel arm study
    • Includes creation paramcd, paramn, param derivation
    • Includes analysis visit windowing - AVISITN, AVISIT, AWLO, AWHI, AWTARGET, AWTDIFF, AWU
    • Includes baseline flagging and dependent variables creation - ABLFL, BASE, CHG, PCHG
    • Includes creation of category variables - AVALCAT1, AVALCA1N, BASECAT1, BASECA1N, CHGCAT1, CHGCAT1N
    • 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 two shift variables - SHIFT1, SHIFT2
VARIABLE_NAMEVARIABLE_LABELTYPEGENERAL_COMMENT
STUDYID Study Identifier _ EG.STUDYID
USUBJID Unique Subject Identifier _ EG.USUBJID
SUBJID Subject Identifier for the Study _ ADSL.SUBJID
PARAM Parameter _ Populate as 'Heart Rate (beats/min)' when PARAMCD='HR'.
Populate as 'PR Interval (msec)' when PARAMCD='PR'.
Populate as 'QT Interval (msec)' when PARAMCD='QT'.
Populate as 'RR Interval (msec)' when PARAMCD='RR'.
Populate as 'QRS Interval (msec)' when PARAMCD='QRS'.
Populate as 'Interpretation' when PARAMCD='INTP'.
PARAMCD Parameter Code _ Populate with values from EG.EGTESTCD.
PARAMN Parameter (N) _ Populate as 1 when PARAMCD='HR'.
Populate as 2 when PARAMCD='PR'.
Populate as 3 when PARAMCD='QT'.
Populate as 4 when PARAMCD='RR'.
Populate as 5 when PARAMCD='QRS'.
Populate as 6 when PARAMCD='INTP'.
ADT Analysis Date _ Populate using EG.EGDTC
ADY Analysis Relative Day _ Populate using ADSL.TRTSDT and ADEG.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.
AVISIT Analysis Visit _ Populate using ADEG.ADY and ADEG.ABLFL.
1) Populate as "Week 12" if ADY is in between 2 and 127.
2) Populate as "Week 24" if ADY is in between 128 and 210. 3) Populate as "Baseline" if ABLFL="Y".
AVISITN Analysis Visit (N) _ Populate using ADEG.AVISIT.
1) Populate as 12 when AVISIT="Week 12".
2) Populate as 24 when AVISIT="Week 24".
3) Populate as 0 when AVISIT="Baseline".
AVAL Analysis Value _ Populate using EG.EGSTRESN.
AVALC Analysis Value (C) _ Populateusing EG.EGSTRESC.
Populate only on the records where PARAMCD="INTP". Leave null for all other parameters.
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 record that is closest to the target day within each analysis visit (ADEG.AVISIT) per subject and parameter. If there exists multiple records that are equally closest then choose the record with latest date.
ANL02FL Analysis Flag 02 _ Populate as "Y" on postbaseline records (ADEG.ADT>ADSL.TRTSDT).
AVALCAT1 Analysis Value Category 1 _ Populate using ADEG.AVAL on the records where AVAL is not null.
For PARAMCD="HR":
Populate as "< 50 bpm" when AVAL is less than 50.
Populate as "50 - 100 bpm" when AVAL is in between 50 and 100 (inclusive).
Populate as "> 100 bpm" when AVAL is greater than 100.
For PARAMCD in ("PR", "QRS"):
Populate as "< 200 msec" when AVAL is less than 200.
Populate as ">= 200 msec" when AVAL is greater than or equals to 200.
For PARAMCD="QT":
Populate as "< 450 msec" when AVAL is less than 450.
Populate as ">= 450 - < 480 msec" when AVAL is greater than or equals to 450 and AVAL is less than 480 .
Populate as ">=480 - < 500 msec" when AVAL is greater than or equals to 480 and AVAL is less than 500.
Populate as ">= 500 msec" when AVAL is greater than or equals to 500.
AVALCA1N Analysis Value Category 1 (N) _ For PARAMCD in ("HR"):
Populate as 1 when AVALCAT1='< 50 bpm'.
Populate as 2 when AVALCAT1='50 -100 bpm'.
Populate as 3 when AVALCAT1='> 100 bpm'.
For PARAMCD in ("PR", "QRS"):
Populate as 1 when AVALCAT1='< 200 msec'.
Populate as 2 when AVALCAT1='>= 200 msec'.
For PARAMCD in ("QT"):
Populate as 1 when AVALCAT1='< 450 msec'.
Populate as 2 when AVALCAT1='>= 450 - <480 msec'.
Populate as 3 when AVALCAT1='>= 480 - < 500 msec'.
Populate as 4 when AVALCAT1='>= 500 msec'.
BASE Baseline Value _ Populate using ADEG.AVAL on the record where ADEG.ABLFL="Y" of each parameter and subject on all records that subject and parameter.
BASEC Baseline Value (C) _ Populate using ADEG.AVALC on the record where ADEG.ABLFL="Y" of each parameter and subject on all records that subject and parameter.
BASECAT1 Baseline Category 1 _ Populate using ADEG.AVALCAT1 on the record where ADEG.ABLFL="Y" of each parameter and subject on all records that subject and parameter.
BASECA1N Baseline Category 1 (N) _ Populate using ADEG.AVALCA1N on the record where ADEG.ABLFL="Y" of each parameter and subject on all records that subject and parameter.
CHG Change from Baseline _ Populate as the difference between ADEG.AVAL and ADEG.BASE on postbaseline records (ADEG.ANL02FL="Y").
CHGCAT1 Change from Baseline Category 1 _ Populate using ADEG.CHG
For PARAMCD="QT":
Populate as "<= 30 msec" when CHG is less than or equals to 30.
Populate as "> 30 - 60 msec" when CHG is greater than 30 and less than or equals to 60.
Populate as "> 60 msec" when AVAL is greater than 60.
CHGCAT1N Change from Baseline Category 1 (N) _ For PARAMCD in ("QT"):
Populate as 1 when CHGCAT1='<= 30 msec'.
Populate as 2 when CHGCAT1='> 30 - 60 msec'.
Populate as 3 when CHGCAT1='> 60 msec'.
PCHG Percent Change from Baseline _ Populate using ADEG.CHG and ADEG.BASE, as CHG/BASE*100 when BASE is not null and is not 0.
SHIFT1 Shift 1 _ Populate using ADEG.BASEC and ADEG.AVALC for the records where PARAMCD="INTP" on the records where ANL02FL="Y".
1) If AVALC is null then temporarliy consider it as "Missing".
2) If BASEC is null then temporarily consider it as "Missing". 3) Concatenate the values of BASEC and AVALC with the word " to " in between.
SHIFT2 Shift 2 _ Populate using ADEG.BASECAT1 and ADEG.AVALCAT1 for the records where PARAMCD in ("HR", "PR", "QRS", "QT") on the records where ANL02FL="Y".
1) If AVALCAT1 is null then temporarily consider it as "Missing".
2) If BASECAT1 is null then temporarily consider it as "Missing". 3) Concatenate the values of BASECAT1 and AVALCAT1 with the word " to " in between.
AWTARGET Analysis Window Target _ Populate as 85 when AVISIT='Week 12'.
Populate as 169 when AVISIT='Week 24'.
AWTDIFF Analysis Window Diff from Target _ Populate using ADEG.AWTARGET and ADEG.ADY, as absolute difference between AWTARGET and ADY.
AWLO Analysis Window Beginning Timepoint _ Populate as 2 when AVISIT='Week 12'.
Populate as 128 when AVISIT='Week 24'.
AWHI Analysis Window Ending Timepoint _ Populate as 127 when AVISIT='Week 12'.
Populate as 210 when AVISIT='Week 24'.
AWU Analysis Window Unit _ Populate as "DAYS" when AVISIT is not null and AWTDIFF is not null.
EGSEQ Sequence Number _ EG.EGSEQ
VISITNUM Visit Number _ EG.VISITNUM
VISIT Visit Name _ EG.VISIT
SITEID Study Site Identifier _ ADSL.SITEID
AGE Age _ ADSL.AGE
AGEU Age Units _ ADSL.AGEU
SEX Sex _ ADSL.SEX
RACE Race _ ADSL.RACE
SAFFL Safety Population Flag _ ADSL.SAFFL
RANDFL Randomized Population Flag _ ADSL.RANDFL
ENRLFL Enrolled Population Flag _ ADSL.ENRLFL
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.
R data is available only for R subscribers.
You can contact us on +91-7330--77--66---49 for purchasing subscription to R programs and data
R codes are available only for R subscribers.
You can contact us on +91-7330--77--66---49 for purchasing subscription to R programs and data