Monday, 15 December 2025

340.SDTM DM DATASET QUALITY CONTROL AND PRACTICAL VALIDATION EXERCISES USING PROC SORT | PROC PRINT | PROC FREQ | PROC MEANS | PROC SQL

SDTM DM DATASET QUALITY CONTROL AND PRACTICAL VALIDATION EXERCISES USING PROC SORT | PROC PRINT | PROC FREQ | PROC MEANS | PROC SQL


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.



No comments:

Post a Comment