340.Is SDTM DM quality control in SAS the key to avoiding last-minute FDA rejection risks?

Is SDTM DM quality control in SAS the key to avoiding last-minute FDA rejection risks?

SDTM DM PRACTICE DATASET

 One record per subject


data work.sdtm_dm;

    length

        STUDYID   $12

        DOMAIN    $2

        USUBJID   $25

        SUBJID    $10

        SITEID    $5

        COUNTRY   $15

        SEX       $1

        RACE      $20

        ETHNIC    $30

        AGE       8

        AGEU      $10

        ARMCD     $8

        ARM       $20

        ACTARMCD  $8

        ACTARM    $20

        INVID     $10

        INVNAM    $30

        BRTHDTC   $10

        RFSTDTC   $10

        RFENDTC   $10

        DMDTC     $10

    ;


    input

        STUDYID $

        USUBJID $

        SUBJID $

        SITEID $

        COUNTRY $

        SEX $

        RACE $

        ETHNIC $

        AGE

        AGEU $

        ARMCD $

        ARM $

        ACTARMCD $

        ACTARM $

        BRTHDTC $

        RFSTDTC $

        RFENDTC $

        DMDTC $

        INVID $

        INVNAM $

    ;


    DOMAIN = "DM";


    drop ACTARMCD ACTARM;


datalines;

STUDY001 STUDY001-IND-001 001 1001 INDIA M ASIAN NOT_HISPANIC 34 YEARS TRT01 DRUG_A TRT01 DRUG_A 1990-05-10 2023-01-10 2023-06-10 2023-01-05 INV01 DR_RAO

STUDY001 STUDY001-IND-002 002 1001 INDIA F ASIAN NOT_HISPANIC 29 YEARS TRT02 DRUG_B TRT02 DRUG_B 1995-08-21 2023-01-12 2023-06-15 2023-01-07 INV01 DR_RAO

STUDY001 STUDY001-USA-003 003 2001 USA M WHITE NOT_HISPANIC 45 YEARS TRT01 DRUG_A TRT01 DRUG_A 1978-03-14 2023-02-01 2023-07-01 2023-01-25 INV02 DR_SMITH

STUDY001 STUDY001-USA-004 004 2001 USA F BLACK OR_AFRICAN_AMERICAN_HISPANIC 38 YEARS TRT02 DRUG_B TRT02 DRUG_B 1986-11-02 2023-02-05 2023-07-10 2023-01-28 INV02 DR_SMITH

STUDY001 STUDY001-JPN-005 005 3001 JAPAN M ASIAN NOT_HISPANIC 52 YEARS TRT01 DRUG_A TRT01 DRUG_A 1971-07-09 2023-03-01 2023-08-01 2023-02-20 INV03 DR_TANAKA

STUDY001 STUDY001-JPN-006 006 3001 JAPAN F ASIAN NOT_HISPANIC 47 YEARS TRT02 DRUG_B TRT02 DRUG_B 1976-01-18 2023-03-05 2023-08-05 2023-02-22 INV03 DR_TANAKA

STUDY001 STUDY001-UK-007 007 4001 UK M WHITE NOT_HISPANIC 60 YEARS TRT01 DRUG_A TRT01 DRUG_A 1963-09-25 2023-04-01 2023-09-01 2023-03-18 INV04 DR_BROWN

STUDY001 STUDY001-UK-008 008 4001 UK F WHITE NOT_HISPANIC 55 YEARS TRT02 DRUG_B TRT02 DRUG_B 1968-12-11 2023-04-03 2023-09-05 2023-03-20 INV04 DR_BROWN

STUDY001 STUDY001-AUS-009 009 5001 AUSTRALIA M WHITE NOT_HISPANIC 41 YEARS TRT01 DRUG_A TRT01 DRUG_A 1982-06-06 2023-05-01 2023-10-01 2023-04-15 INV05 DR_LEE

STUDY001 STUDY001-AUS-010 010 5001 AUSTRALIA F WHITE NOT_HISPANIC 36 YEARS TRT02 DRUG_B TRT02 DRUG_B 1987-02-19 2023-05-03 2023-10-05 2023-04-17 INV05 DR_LEE

STUDY001 STUDY001-CAN-011 011 6001 CANADA M WHITE NOT_HISPANIC 49 YEARS TRT01 DRUG_A TRT01 DRUG_A 1974-10-30 2023-06-01 2023-11-01 2023-05-20 INV06 DR_GREEN

STUDY001 STUDY001-CAN-012 012 6001 CANADA F WHITE NOT_HISPANIC 44 YEARS TRT02 DRUG_B TRT02 DRUG_B 1979-04-05 2023-06-05 2023-11-05 2023-05-22 INV06 DR_GREEN

;

run;

proc print data=sdtm_dm;

run;

ObsSTUDYIDDOMAINUSUBJIDSUBJIDSITEIDCOUNTRYSEXRACEETHNICAGEAGEUARMCDARMINVIDINVNAMBRTHDTCRFSTDTCRFENDTCDMDTC
1STUDY001DMSTUDY001-IND-0010011001INDIAMASIANNOT_HISPANIC34YEARSTRT01DRUG_AINV01DR_RAO1990-05-102023-01-102023-06-102023-01-05
2STUDY001DMSTUDY001-IND-0020021001INDIAFASIANNOT_HISPANIC29YEARSTRT02DRUG_BINV01DR_RAO1995-08-212023-01-122023-06-152023-01-07
3STUDY001DMSTUDY001-USA-0030032001USAMWHITENOT_HISPANIC45YEARSTRT01DRUG_AINV02DR_SMITH1978-03-142023-02-012023-07-012023-01-25
4STUDY001DMSTUDY001-USA-0040042001USAFBLACKOR_AFRICAN_AMERICAN_HISPANIC38YEARSTRT02DRUG_BINV02DR_SMITH1986-11-022023-02-052023-07-102023-01-28
5STUDY001DMSTUDY001-JPN-0050053001JAPANMASIANNOT_HISPANIC52YEARSTRT01DRUG_AINV03DR_TANAKA1971-07-092023-03-012023-08-012023-02-20
6STUDY001DMSTUDY001-JPN-0060063001JAPANFASIANNOT_HISPANIC47YEARSTRT02DRUG_BINV03DR_TANAKA1976-01-182023-03-052023-08-052023-02-22
7STUDY001DMSTUDY001-UK-0070074001UKMWHITENOT_HISPANIC60YEARSTRT01DRUG_AINV04DR_BROWN1963-09-252023-04-012023-09-012023-03-18
8STUDY001DMSTUDY001-UK-0080084001UKFWHITENOT_HISPANIC55YEARSTRT02DRUG_BINV04DR_BROWN1968-12-112023-04-032023-09-052023-03-20
9STUDY001DMSTUDY001-AUS-0090095001AUSTRALIAMWHITENOT_HISPANIC41YEARSTRT01DRUG_AINV05DR_LEE1982-06-062023-05-012023-10-012023-04-15
10STUDY001DMSTUDY001-AUS-0100105001AUSTRALIAFWHITENOT_HISPANIC36YEARSTRT02DRUG_BINV05DR_LEE1987-02-192023-05-032023-10-052023-04-17
11STUDY001DMSTUDY001-CAN-0110116001CANADAMWHITENOT_HISPANIC49YEARSTRT01DRUG_AINV06DR_GREEN1974-10-302023-06-012023-11-012023-05-20
12STUDY001DMSTUDY001-CAN-0120126001CANADAFWHITENOT_HISPANIC44YEARSTRT02DRUG_BINV06DR_GREEN1979-04-052023-06-052023-11-052023-05-22


HOW TO PRACTICE WITH THIS DATASET

A. BASIC CHECKS

proc contents data=sdtm_dm;

run;

OUTPUT:

The CONTENTS Procedure

Data Set NameWORK.SDTM_DMObservations12
Member TypeDATAVariables19
EngineV9Indexes0
Created12/16/2025 07:10:23Observation Length248
Last Modified12/16/2025 07:10:23Deleted Observations0
Protection CompressedNO
Data Set Type SortedNO
Label   
Data RepresentationSOLARIS_X86_64, LINUX_X86_64, ALPHA_TRU64, LINUX_IA64  
Encodingutf-8 Unicode (UTF-8)  
Engine/Host Dependent Information
Data Set Page Size131072
Number of Data Set Pages1
First Data Page1
Max Obs per Page528
Obs in First Data Page12
Number of Data Set Repairs0
Filename/saswork/SAS_workB6BB0000902C_odaws01-apse1-2.oda.sas.com/SAS_workF09A0000902C_odaws01-apse1-2.oda.sas.com/sdtm_dm.sas7bdat
Release Created9.0401M8
Host CreatedLinux
Inode Number1214119
Access Permissionrw-r--r--
Owner Nameu63247146
File Size256KB
File Size (bytes)262144
Alphabetic List of Variables and Attributes
#VariableTypeLen
10AGENum8
11AGEUChar10
13ARMChar20
12ARMCDChar8
16BRTHDTCChar10
6COUNTRYChar15
19DMDTCChar10
2DOMAINChar2
9ETHNICChar30
14INVIDChar10
15INVNAMChar30
8RACEChar20
18RFENDTCChar10
17RFSTDTCChar10
7SEXChar1
5SITEIDChar5
1STUDYIDChar12
4SUBJIDChar10
3USUBJIDChar25

proc print data=sdtm_dm(obs=5);

run;

OUTPUT:

ObsSTUDYIDDOMAINUSUBJIDSUBJIDSITEIDCOUNTRYSEXRACEETHNICAGEAGEUARMCDARMINVIDINVNAMBRTHDTCRFSTDTCRFENDTCDMDTC
1STUDY001DMSTUDY001-IND-0010011001INDIAMASIANNOT_HISPANIC34YEARSTRT01DRUG_AINV01DR_RAO1990-05-102023-01-102023-06-102023-01-05
2STUDY001DMSTUDY001-IND-0020021001INDIAFASIANNOT_HISPANIC29YEARSTRT02DRUG_BINV01DR_RAO1995-08-212023-01-122023-06-152023-01-07
3STUDY001DMSTUDY001-USA-0030032001USAMWHITENOT_HISPANIC45YEARSTRT01DRUG_AINV02DR_SMITH1978-03-142023-02-012023-07-012023-01-25
4STUDY001DMSTUDY001-USA-0040042001USAFBLACKOR_AFRICAN_AMERICAN_HISPANIC38YEARSTRT02DRUG_BINV02DR_SMITH1986-11-022023-02-052023-07-102023-01-28
5STUDY001DMSTUDY001-JPN-0050053001JAPANMASIANNOT_HISPANIC52YEARSTRT01DRUG_AINV03DR_TANAKA1971-07-092023-03-012023-08-012023-02-20


B. SUBJECT COUNT BY SEX

proc freq data=sdtm_dm;

    tables SEX;

run;

OUTPUT:

The FREQ Procedure

SEXFrequencyPercentCumulative
Frequency
Cumulative
Percent
F650.00650.00
M650.0012100.00

C. AGE SUMMARY

proc means data=sdtm_dm min max mean;

    var AGE;

run;

OUTPUT:

The MEANS Procedure

Analysis Variable : AGE
MinimumMaximumMean
29.000000060.000000044.1666667

D. COUNTRY-WISE SUBJECT DISTRIBUTION

proc freq data=sdtm_dm;

    tables COUNTRY;

run;

OUTPUT:

The FREQ Procedure

COUNTRYFrequencyPercentCumulative
Frequency
Cumulative
Percent
AUSTRALIA216.67216.67
CANADA216.67433.33
INDIA216.67650.00
JAPAN216.67866.67
UK216.671083.33
USA216.6712100.00

E. CHECK ONE RECORD PER SUBJECT

proc sort data=sdtm_dm out=dm_sorted;

    by USUBJID;

run;

proc print data=dm_sorted;

run;

OUTPUT:

ObsSTUDYIDDOMAINUSUBJIDSUBJIDSITEIDCOUNTRYSEXRACEETHNICAGEAGEUARMCDARMINVIDINVNAMBRTHDTCRFSTDTCRFENDTCDMDTC
1STUDY001DMSTUDY001-AUS-0090095001AUSTRALIAMWHITENOT_HISPANIC41YEARSTRT01DRUG_AINV05DR_LEE1982-06-062023-05-012023-10-012023-04-15
2STUDY001DMSTUDY001-AUS-0100105001AUSTRALIAFWHITENOT_HISPANIC36YEARSTRT02DRUG_BINV05DR_LEE1987-02-192023-05-032023-10-052023-04-17
3STUDY001DMSTUDY001-CAN-0110116001CANADAMWHITENOT_HISPANIC49YEARSTRT01DRUG_AINV06DR_GREEN1974-10-302023-06-012023-11-012023-05-20
4STUDY001DMSTUDY001-CAN-0120126001CANADAFWHITENOT_HISPANIC44YEARSTRT02DRUG_BINV06DR_GREEN1979-04-052023-06-052023-11-052023-05-22
5STUDY001DMSTUDY001-IND-0010011001INDIAMASIANNOT_HISPANIC34YEARSTRT01DRUG_AINV01DR_RAO1990-05-102023-01-102023-06-102023-01-05
6STUDY001DMSTUDY001-IND-0020021001INDIAFASIANNOT_HISPANIC29YEARSTRT02DRUG_BINV01DR_RAO1995-08-212023-01-122023-06-152023-01-07
7STUDY001DMSTUDY001-JPN-0050053001JAPANMASIANNOT_HISPANIC52YEARSTRT01DRUG_AINV03DR_TANAKA1971-07-092023-03-012023-08-012023-02-20
8STUDY001DMSTUDY001-JPN-0060063001JAPANFASIANNOT_HISPANIC47YEARSTRT02DRUG_BINV03DR_TANAKA1976-01-182023-03-052023-08-052023-02-22
9STUDY001DMSTUDY001-UK-0070074001UKMWHITENOT_HISPANIC60YEARSTRT01DRUG_AINV04DR_BROWN1963-09-252023-04-012023-09-012023-03-18
10STUDY001DMSTUDY001-UK-0080084001UKFWHITENOT_HISPANIC55YEARSTRT02DRUG_BINV04DR_BROWN1968-12-112023-04-032023-09-052023-03-20
11STUDY001DMSTUDY001-USA-0030032001USAMWHITENOT_HISPANIC45YEARSTRT01DRUG_AINV02DR_SMITH1978-03-142023-02-012023-07-012023-01-25
12STUDY001DMSTUDY001-USA-0040042001USAFBLACKOR_AFRICAN_AMERICAN_HISPANIC38YEARSTRT02DRUG_BINV02DR_SMITH1986-11-022023-02-052023-07-102023-01-28


data dm_dup;

    set dm_sorted;

    by USUBJID;

    if not (first.USUBJID and last.USUBJID);

run;


proc print data=dm_dup;

    title "DUPLICATE USUBJID CHECK";

run;

LOG:

NOTE: No observations in data set WORK.DM_DUP.


F. CHECK MISSING CRITICAL VARIABLES

proc means data=sdtm_dm n nmiss;

    var AGE;

run;

OUTPUT:

The MEANS Procedure

Analysis Variable : AGE
NN Miss
120

proc freq data=sdtm_dm;

    tables SEX RACE ETHNIC COUNTRY / missing;

run;

OUTPUT:

The FREQ Procedure

SEXFrequencyPercentCumulative
Frequency
Cumulative
Percent
F650.00650.00
M650.0012100.00
RACEFrequencyPercentCumulative
Frequency
Cumulative
Percent
ASIAN433.33433.33
BLACK18.33541.67
WHITE758.3312100.00
ETHNICFrequencyPercentCumulative
Frequency
Cumulative
Percent
NOT_HISPANIC1191.671191.67
OR_AFRICAN_AMERICAN_HISPANIC18.3312100.00
COUNTRYFrequencyPercentCumulative
Frequency
Cumulative
Percent
AUSTRALIA216.67216.67
CANADA216.67433.33
INDIA216.67650.00
JAPAN216.67866.67
UK216.671083.33
USA216.6712100.00

G. VALIDATE AGE CALCULATION USING BIRTH DATE

data dm_age_check;

    set sdtm_dm;


    /* Convert ISO 8601 character dates to numeric SAS dates */

    if not missing(BRTHDTC) then

        BRTHDTN = input(BRTHDTC, yymmdd10.);

    if not missing(RFSTDTC) then

        RFSTDTN = input(RFSTDTC, yymmdd10.);


    /* Calculate age only when both dates are valid */

    if not missing(BRTHDTN) and not missing(RFSTDTN) then

        AGE_CALC = intck('year', BRTHDTN, RFSTDTN, 'c');


    label AGE_CALC = 'Calculated Age at Reference Start Date';


run;

proc print data=dm_age_check;

    var USUBJID AGE AGE_CALC BRTHDTC RFSTDTC;

run;

OUTPUT:

ObsUSUBJIDAGEAGE_CALCBRTHDTCRFSTDTC
1STUDY001-IND-00134321990-05-102023-01-10
2STUDY001-IND-00229271995-08-212023-01-12
3STUDY001-USA-00345441978-03-142023-02-01
4STUDY001-USA-00438361986-11-022023-02-05
5STUDY001-JPN-00552511971-07-092023-03-01
6STUDY001-JPN-00647471976-01-182023-03-05
7STUDY001-UK-00760591963-09-252023-04-01
8STUDY001-UK-00855541968-12-112023-04-03
9STUDY001-AUS-00941401982-06-062023-05-01
10STUDY001-AUS-01036361987-02-192023-05-03
11STUDY001-CAN-01149481974-10-302023-06-01
12STUDY001-CAN-01244441979-04-052023-06-05


H. CHECK DATE ORDER CONSISTENCY

data dm_date_check;

    set sdtm_dm;

    if RFSTDTC > RFENDTC then FLAG_DATE = "ERROR";

run;


proc print data=dm_date_check;

    where FLAG_DATE = "ERROR";

    var USUBJID RFSTDTC RFENDTC;

run;

LOG:

NOTE: No observations were selected from data set WORK.DM_DATE_CHECK.


I. COUNTRY AND SITE CROSS-CHECK

proc freq data=sdtm_dm;

    tables COUNTRY*SITEID / nocol norow;

run;

OUTPUT:

The FREQ Procedure

Frequency
Percent
Table of COUNTRY by SITEID
COUNTRYSITEID
100120013001400150016001Total
AUSTRALIA
0
0.00
0
0.00
0
0.00
0
0.00
2
16.67
0
0.00
2
16.67
CANADA
0
0.00
0
0.00
0
0.00
0
0.00
0
0.00
2
16.67
2
16.67
INDIA
2
16.67
0
0.00
0
0.00
0
0.00
0
0.00
0
0.00
2
16.67
JAPAN
0
0.00
0
0.00
2
16.67
0
0.00
0
0.00
0
0.00
2
16.67
UK
0
0.00
0
0.00
0
0.00
2
16.67
0
0.00
0
0.00
2
16.67
USA
0
0.00
2
16.67
0
0.00
0
0.00
0
0.00
0
0.00
2
16.67
Total
2
16.67
2
16.67
2
16.67
2
16.67
2
16.67
2
16.67
12
100.00

J. SEX VS RACE DISTRIBUTION (QA CHECK)

proc freq data=sdtm_dm;

    tables SEX*RACE / missing;

run;

OUTPUT:

The FREQ Procedure

Frequency
Percent
Row Pct
Col Pct
Table of SEX by RACE
SEXRACE
ASIANBLACKWHITETotal
F
2
16.67
33.33
50.00
1
8.33
16.67
100.00
3
25.00
50.00
42.86
6
50.00
 
 
M
2
16.67
33.33
50.00
0
0.00
0.00
0.00
4
33.33
66.67
57.14
6
50.00
 
 
Total
4
33.33
1
8.33
7
58.33
12
100.00

K. POPULATION COUNTS BY ARM

proc freq data=sdtm_dm;

    tables ARMCD;

run;

OUTPUT:

The FREQ Procedure

ARMCDFrequencyPercentCumulative
Frequency
Cumulative
Percent
TRT01650.00650.00
TRT02650.0012100.00

L. MIN / MAX STUDY DATES

proc sql;

    select

        min(input(RFSTDTC, yymmdd10.)) as Min_RFSTD format=date9.,

        max(input(RFSTDTC, yymmdd10.)) as Max_RFSTD format=date9.,

        min(input(RFENDTC, yymmdd10.)) as Min_RFEND format=date9.,

        max(input(RFENDTC, yymmdd10.)) as Max_RFEND format=date9.

    from sdtm_dm;

quit;

OUTPUT:

Min_RFSTDMax_RFSTDMin_RFENDMax_RFEND
10JAN202305JUN202310JUN202305NOV2023

M. CREATE A DERIVED AGE GROUP (PRACTICE STEP)

data dm_agegrp;

    set sdtm_dm;

    length AGEGRP $10;


    if AGE < 30 then AGEGRP = "<30";

    else if 30 <= AGE < 50 then AGEGRP = "30-49";

    else if AGE >= 50 then AGEGRP = "50+";

run;

Proc print data=dm_agegrp;

run;

OUTPUT:

ObsSTUDYIDDOMAINUSUBJIDSUBJIDSITEIDCOUNTRYSEXRACEETHNICAGEAGEUARMCDARMINVIDINVNAMBRTHDTCRFSTDTCRFENDTCDMDTCAGEGRP
1STUDY001DMSTUDY001-IND-0010011001INDIAMASIANNOT_HISPANIC34YEARSTRT01DRUG_AINV01DR_RAO1990-05-102023-01-102023-06-102023-01-0530-49
2STUDY001DMSTUDY001-IND-0020021001INDIAFASIANNOT_HISPANIC29YEARSTRT02DRUG_BINV01DR_RAO1995-08-212023-01-122023-06-152023-01-07<30
3STUDY001DMSTUDY001-USA-0030032001USAMWHITENOT_HISPANIC45YEARSTRT01DRUG_AINV02DR_SMITH1978-03-142023-02-012023-07-012023-01-2530-49
4STUDY001DMSTUDY001-USA-0040042001USAFBLACKOR_AFRICAN_AMERICAN_HISPANIC38YEARSTRT02DRUG_BINV02DR_SMITH1986-11-022023-02-052023-07-102023-01-2830-49
5STUDY001DMSTUDY001-JPN-0050053001JAPANMASIANNOT_HISPANIC52YEARSTRT01DRUG_AINV03DR_TANAKA1971-07-092023-03-012023-08-012023-02-2050+
6STUDY001DMSTUDY001-JPN-0060063001JAPANFASIANNOT_HISPANIC47YEARSTRT02DRUG_BINV03DR_TANAKA1976-01-182023-03-052023-08-052023-02-2230-49
7STUDY001DMSTUDY001-UK-0070074001UKMWHITENOT_HISPANIC60YEARSTRT01DRUG_AINV04DR_BROWN1963-09-252023-04-012023-09-012023-03-1850+
8STUDY001DMSTUDY001-UK-0080084001UKFWHITENOT_HISPANIC55YEARSTRT02DRUG_BINV04DR_BROWN1968-12-112023-04-032023-09-052023-03-2050+
9STUDY001DMSTUDY001-AUS-0090095001AUSTRALIAMWHITENOT_HISPANIC41YEARSTRT01DRUG_AINV05DR_LEE1982-06-062023-05-012023-10-012023-04-1530-49
10STUDY001DMSTUDY001-AUS-0100105001AUSTRALIAFWHITENOT_HISPANIC36YEARSTRT02DRUG_BINV05DR_LEE1987-02-192023-05-032023-10-052023-04-1730-49
11STUDY001DMSTUDY001-CAN-0110116001CANADAMWHITENOT_HISPANIC49YEARSTRT01DRUG_AINV06DR_GREEN1974-10-302023-06-012023-11-012023-05-2030-49
12STUDY001DMSTUDY001-CAN-0120126001CANADAFWHITENOT_HISPANIC44YEARSTRT02DRUG_BINV06DR_GREEN1979-04-052023-06-052023-11-052023-05-2230-49


proc freq data=dm_agegrp;

    tables AGEGRP;

run;

OUTPUT:

The FREQ Procedure

AGEGRPFrequencyPercentCumulative
Frequency
Cumulative
Percent
30-49866.67866.67
50+325.001191.67
<3018.3312100.00

N. CHECK DEATH FLAG LOGIC

data dm_death_check;

    set sdtm_dm;

    if DTHFL = "Y" and DTHDTC = . then FLAG = "MISSING DTHDTC";

run;


proc print data=dm_death_check;

    where FLAG ne "";

run;

LOG:

NOTE: No observations were selected from data set WORK.DM_DEATH_CHECK.

O. SORTING DM AS PER SDTM RULE

proc sort data=sdtm_dm;

    by STUDYID USUBJID;

run;

Proc print data=sdtm_dm;

run;

OUTPUT:

ObsSTUDYIDDOMAINUSUBJIDSUBJIDSITEIDCOUNTRYSEXRACEETHNICAGEAGEUARMCDARMINVIDINVNAMBRTHDTCRFSTDTCRFENDTCDMDTC
1STUDY001DMSTUDY001-AUS-0090095001AUSTRALIAMWHITENOT_HISPANIC41YEARSTRT01DRUG_AINV05DR_LEE1982-06-062023-05-012023-10-012023-04-15
2STUDY001DMSTUDY001-AUS-0100105001AUSTRALIAFWHITENOT_HISPANIC36YEARSTRT02DRUG_BINV05DR_LEE1987-02-192023-05-032023-10-052023-04-17
3STUDY001DMSTUDY001-CAN-0110116001CANADAMWHITENOT_HISPANIC49YEARSTRT01DRUG_AINV06DR_GREEN1974-10-302023-06-012023-11-012023-05-20
4STUDY001DMSTUDY001-CAN-0120126001CANADAFWHITENOT_HISPANIC44YEARSTRT02DRUG_BINV06DR_GREEN1979-04-052023-06-052023-11-052023-05-22
5STUDY001DMSTUDY001-IND-0010011001INDIAMASIANNOT_HISPANIC34YEARSTRT01DRUG_AINV01DR_RAO1990-05-102023-01-102023-06-102023-01-05
6STUDY001DMSTUDY001-IND-0020021001INDIAFASIANNOT_HISPANIC29YEARSTRT02DRUG_BINV01DR_RAO1995-08-212023-01-122023-06-152023-01-07
7STUDY001DMSTUDY001-JPN-0050053001JAPANMASIANNOT_HISPANIC52YEARSTRT01DRUG_AINV03DR_TANAKA1971-07-092023-03-012023-08-012023-02-20
8STUDY001DMSTUDY001-JPN-0060063001JAPANFASIANNOT_HISPANIC47YEARSTRT02DRUG_BINV03DR_TANAKA1976-01-182023-03-052023-08-052023-02-22
9STUDY001DMSTUDY001-UK-0070074001UKMWHITENOT_HISPANIC60YEARSTRT01DRUG_AINV04DR_BROWN1963-09-252023-04-012023-09-012023-03-18
10STUDY001DMSTUDY001-UK-0080084001UKFWHITENOT_HISPANIC55YEARSTRT02DRUG_BINV04DR_BROWN1968-12-112023-04-032023-09-052023-03-20
11STUDY001DMSTUDY001-USA-0030032001USAMWHITENOT_HISPANIC45YEARSTRT01DRUG_AINV02DR_SMITH1978-03-142023-02-012023-07-012023-01-25
12STUDY001DMSTUDY001-USA-0040042001USAFBLACKOR_AFRICAN_AMERICAN_HISPANIC38YEARSTRT02DRUG_BINV02DR_SMITH1986-11-022023-02-052023-07-102023-01-28


P. QUICK DM QUALITY CONTROL SUMMARY

proc sql;

    select 

        count(distinct USUBJID) as TOTAL_SUBJECTS,

        min(AGE) as MIN_AGE,

        max(AGE) as MAX_AGE

    from sdtm_dm;

quit;

OUTPUT:

TOTAL_SUBJECTSMIN_AGEMAX_AGE
122960

Q. PRINT DM IN REVIEW-FRIENDLY FORMAT

proc print data=sdtm_dm_full label noobs;

    var STUDYID USUBJID SEX AGE AGEU RACE ETHNIC COUNTRY ARM;

run;

OUTPUT:

STUDYIDUSUBJIDSEXAGEAGEURACEETHNICCOUNTRYARM
STUDY001STUDY001-AUS-009M41YEARSWHITENOT_HISPANICAUSTRALIADRUG_A
STUDY001STUDY001-AUS-010F36YEARSWHITENOT_HISPANICAUSTRALIADRUG_B
STUDY001STUDY001-CAN-011M49YEARSWHITENOT_HISPANICCANADADRUG_A
STUDY001STUDY001-CAN-012F44YEARSWHITENOT_HISPANICCANADADRUG_B
STUDY001STUDY001-IND-001M34YEARSASIANNOT_HISPANICINDIADRUG_A
STUDY001STUDY001-IND-002F29YEARSASIANNOT_HISPANICINDIADRUG_B
STUDY001STUDY001-JPN-005M52YEARSASIANNOT_HISPANICJAPANDRUG_A
STUDY001STUDY001-JPN-006F47YEARSASIANNOT_HISPANICJAPANDRUG_B
STUDY001STUDY001-UK-007M60YEARSWHITENOT_HISPANICUKDRUG_A
STUDY001STUDY001-UK-008F55YEARSWHITENOT_HISPANICUKDRUG_B
STUDY001STUDY001-USA-003M45YEARSWHITENOT_HISPANICUSADRUG_A
STUDY001STUDY001-USA-004F38YEARSBLACKOR_AFRICAN_AMERICAN_HISPANICUSADRUG_B


/*USED TO CHECK SDTM REQUIRED PARAMETERS ARE CONTAINED OR NOT*/

proc cdisc model=sdtm;

 sdtm sdtmversion="3.1";

 domaindata data=work.sdtm_dm

       domain=dm

   category=special;

run;

LOG:

NOTE: DomainData DM data content is valid.




To Visit My Previous Different Types Of Oils Dataset:Click Here
To Visit My Previous Different Types Of Series 2025 Dataset:Click Here
To Visit My Previous Analyzing Yoga Asanas Worldwide Dataset:Click Here
To Visit My Previous Analyzing Indian Languages Dataset:Click Here  



Follow Us On : 


 


--- FOLLOW OUR BLOG FOR MORE INFORMATION.

--->PLEASE DO COMMENTS AND SHARE OUR BLOG.



Comments

Popular posts from this blog

412.Can We Build And Clean A University Course Analytics & Fraud Detection System In Sas Using Only Macros While Intentionally Creating And Fixing Errors?

420.Can We Detect Errors, Prevent Fraud, And Optimize Biometric Access System Security Using Advanced SAS Programming?

418.Can We Design, Debug, Detect Fraud, And Optimize A Smart Parking System Using Advanced SAS Programming Techniques?