A Menu-Driven System

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

Paper PO19

Patient Profile: A Menu-Driven System


Adel Fahmy, Symbiance Inc., Princeton, NJ
ABSTRACT

In clinical trials, patient profiles are usually requested by medical writers and data managers. Medical writers need them to
write narratives about adverse reactions to trial drugs and their relationships with concomitant medications, pre-existing
medical conditions, vital signs, and lab results. Data managers need them to resolve data issues. The process is considered
one of the most complicated ones, since it involves gathering all information for each subject. Furthermore, it consumes
valuable project time in investigating case report forms, contents of datasets and code lists, programming and validation.
Unfortunately, the same process is usually repeated for new projects.

We present here a user-friendly menu-driven system using SAS® macros. The macros will do the investigative work,
identifying datasets, variables, labels, and formats. You need to provide only 3 pieces of information: where the data is
located, subject randomization dataset, and subject unique ID variable. Now, relax and let the macros do the hard work.

KEYWORDS
Profile, Patient Profile, Subject Profile, Listing.

AUDIENCE
Database Professionals, Programmers, Statisticians and Medical Writers with limited or advanced SAS experience.

USER FRIENDLY

Usually, we get impressed by software demos and when we try to get them to work, we start looking at “ HELP,” searching
for “ What to do if you get lost.” What we present here is exactly what we described. It requires minimum input and data
specifics (if any). The “ intelligent” macros will process everything, ignore peculiar files and carry on processing. The interactive
window simplifies the input process for non-SAS users.

STANDARDIZATION

Although following some simple consistent rules while designing Case Report Forms (CRF) and Databases simplify the
process, the program assumes those standards have not been implemented. We will use the word ‘ Panel’ to indicate a data
entry screen that has been extracted into a SAS dataset. A panel may contain a single CRF, part of it, or more than one CRF.
Standard ID variables should have the same Names and Formats in All panels. This applies also to studies within the
same project. Examples of the ID variables are SPONSOR, PROTOCOL, STUDY, SITE/ CENTER/ INVESTIGATOR No.,
SUBJECT No., SUBJECT INITIALS, VISIT No., VISIT DATE, CRF Name, PAGE No., and RECORD No. Good and consistent
CRF and Database design will create the same ID fields (even if they are not part of the CRF) with a blank/missing value.
Examples of this are the Visit Number and Date. Although they are important in ordering the events chronologically,
sometimes they are not entered. In the case of Adverse Events panel, the importance is on the Start and End Dates of the
event. Subject Initials must be 3 Characters. If the middle initial is missing, use a dash ‘ -’ instead. To unify the European and
American dates, all Dates must be Y2K compliant in the form ddmmmyyyy.
Only raw data files have to be extracted in the raw data directory. Preferred term medical dictionaries, standard drug
names, and lab normal ranges are not part of the CRFs and should not be saved with subjects’ raw data. Medical and drug
dictionaries and lab ranges have to be applied to the relevant datasets before processing.
Currently, Clinical Data Interchange Standards Consortium (CDISC ® ) have been implemented at many pharmaceutical
organizations. Those standards specify in full details dataset and variable names, in addition to their type, labels, and formats.

LIBRARIES DEFINITION

The macros assume the following default directory hierarchy structure. They will define the following libraries to read and
save the Raw, Formats and Output files (based on user input). Library Out is used to save the LST and LOG. If the input data
is in a different SAS version, use V8 or V6 in the library definition statement. If you do not specify the version, SAS reads
datasets in any version, but in output it assumes the current version under which the program is executing.

%LET dir = %STR (c:\_research\profile) ; %* Main Root directory ;


LIBNAME raw V8 "&dir\data" ;
LIBNAME out V8 "&dir\output" ;
LIBNAME LIBRARY V8 "&dir\macros" ;

1
MACRO COMPILING

In order to compile a macro, use the following statements before the macro definition. This will create the catalog file
SASMACR.SAS7BCAT (under Microsoft Windows®), provided that you use the STORE option in the macro definition. In order
to invoke the compiled macro, the same statements are used in the calling program to define where the compiled macro is
located. Using the compiled macro preserves the generic code and eliminates the need for using %INC to include the source
code. The macro library MAC needs to be defined only ONCE in a session. A macro library cannot be redefined or cleared
until the end of the SAS session.

LIBNAME mac V8 "&dir\macros" ;


OPTIONS MSTORED SASMSTORE = mac ;

PURPOSE OF PROGRAM

To capture all information for all subjects in a database and produce a report separated for each subject. The report has
the option of printing descriptive values rather than coded values for variables. The report may be produced for a selected
subset (of studies, sites, subjects, etc.). The program allows the user to apply project specifics.

DESCRIPTION

The process is automated through a set of 6 generic macros and 1 specific macro.

(0) THE USER INTERFACE

Patient Profile
Access Date & Time : weekday, ddmmmyy, hh:mm

PLEASE ENTER YOUR CHOICE ( Q to Quit ) :

Get Datasets at: __________________________________________________


[ Required: Raw Data Directory ] [70 Char]

Subject Dataset: __________________________________________________


[ Required: Subject / Randomization Dataset ]

Unique ID Var: __________________________________________________


[ Required: Subject Unique ID Variable ]

Get Formats at: __________________________________________________


[ Blank: Non-Formatted Output ]

Save LST/LOGat:__________________________________________________
[ Blank: Display Only ]

Subset Rule: __________________________________________________


[ Blank: All Records ]

Exclude Panels: __________________________________________________


[ Panels to Exclude, Space between ]

Drop Variables: __________________________________________________


[ Variables to Drop, Space between ]

Sort Variables: __________________________________________________


[ Key Sort Variables, Space between ]

Press RETURN to continue.

2
• Required: Raw Datasets Directory location.
Define LIBNAME RAW, using raw datasets location.

• Required: Subject Dataset.


Define the dataset name that includes All the subjects, such as randomization, treatment, or demographic dataset.

• Required: Subject Unique Identification Variable.


Define one variable that uniquely identifies the subject.
If it does not exist in the database, create it inside the user SPECIFIC macro by concatenating Protocol, Study, Center
and Subject Number. Example:

LENGTH usubjid $20 ;


Usubjid = PUT(protocol,$6.) || PUT(study,$6.) || PUT(center,Z4.) || PUT(subjno,Z4.) ;

Ø To Exit without processing, ‘ Q’ must be entered in the required fields.


The system will Quit processing, without exiting the SAS session.

• Optional: Formats Catalog Directory. (Blank: non-formatted LST).


This option is used for formatting output.
The system will define LIBNAME LIBRARY, using the format option, if entered.

• Optional: Output Directory to save the LST and LOG. (Blank: Display only, you save it).
The system will define Line Length and Page Size, if Output location is entered.

• Optional: Panels to exclude from processing. (Blank: process All panels).


Excluded panels must be separated by at least one space.
Exclude from processing Panels that are in the RAW directory, but have different Key Sort structure from the rest of
database, and a key sort option will be entered, such as tracking datasets, lab ranges, medical, or drug dictionaries.

• Optional: Variables to drop from processing. (Blank: process All variables).


Drop variables must be separated by at least one space.
Drop from processing variables that are identical in All datasets or created and have not been used.
(e.g. Study Extension field or Data Entry Control fields).

• Optional: Key Sort Variables for processing. (Blank: use variables according to their order in database).
Key sort variables must be separated by at least one space.
Key sort variables must exist in All panels. They will be used in processing and listing output in the requested order.
If Key Sort Variables are not provided, the system will sort by variables based on their Order in the database.

(1) THE DRIVER PROGRAM


• Define the root directory and the macro library MAC. The macro library should be defined only ONCE in a session. Define
user specifics, if any. In the user specifics, you can create Subject Unique ID.

%LET dir = %STR (c:\_research\profile); %* Main Root directory ;


%LET prg = %STR (profile) ; %* Program name ;
LIBNAME mac V8 "&dir\macros" ; %* ONCE in a session ;
OPTIONS MSTORED SASMSTORE = mac ; %* Use compiled macros ;

• Use the following if you want to clear the Display Window each run.

%LET dat = %STR ( ) ;


%LET sbj = %STR ( ) ;
%LET sid = %STR ( ) ;
%LET fmt = %STR ( ) ;
%LET out = %STR ( ) ;
%LET sub = %STR ( ) ;
%LET exc = %STR ( ) ;
%LET drp = %STR ( ) ;
%LET srt = %STR ( ) ;

3
• OR: For repeated runs, directly give the macro variable values to the Display Window.

%LET dat = %STR (&dir\data) ;


%LET sbj = %STR (demog) ;
%LET sid = %STR (usubjid) ;
%LET fmt = %STR (&dir\macros) ;
%LET out = %STR (&dir\output) ;
%LET sub = %STR (patid<=300) ;
%LET exc = %STR (labnr) ;
%LET drp = %STR (ext dtentry) ;
%LET srt = %STR (patid patinit pagenum) ;

• SPECIFIC Macro: Specifics for each Project Data.

%MACRO specific ;

%* General program statements that apply all datasets ;


%* Specific condition program statements that apply only to individual datasets ;

%MEND specific ;

• Invoke Profile Macros.

%profile ;

(2) SPECIFIC macro


• The user has full control of this macro. The code is written in very simple “ %IF …%THEN …%ELSE” statements that can
be modified by the user based on the project.
• Here, you can create any common ID variables (such as PROTOCOL , SID Subject ID, DTVISIT).
• If there are no specifics, just keep the macro definition with blanks or null statement in between.

%MACRO specific ; %* *** NO SPECIFICS *** ; %MEND specific ;

• If the specifics for datasets are too many, it is recommended that you create a new data directory and save the datasets in
it after modifying with simple data steps.

%MACRO specific ;

• General program statements that apply to all datasets.

LENGTH usubjid $20 ;


usubjid = PUT(protocol,$6.) || PUT(study,$6.) || PUT(center,Z4.) || PUT(subjno,Z4.) ;

%LET missvaln = %STR (. .M .I .Q .U) ;


%LET missvalc = %STR (' ' '.M' '.I' '.Q' '.U' 'UNK' '-' '--') ;

• Specific condition program statements that apply only to individual datasets.

%IF %UPCASE (&pnl)= ADVEV %THEN %DO; %LET srt=&orgsrt visitnum recno; %END ;
%ELSE %IF %UPCASE (&pnl)= PHYSEX %THEN %DO; %LET srt=&orgsrt bodsys ; %END ;
%ELSE %IF %UPCASE (&pnl)= VITALS %THEN %DO; %LET srt=&orgsrt dtvisit tmvisit; %END ;
%ELSE %DO; %LET srt=&orgsrt ; %END ;

%MEND specific ;

4
DETAILS OF PROFILE SET OF GENERIC MACROS

(3) SETUP macro


• Clear what is left over at Work space from a previous run (Work datasets, all LIBNAMEs, TITLEs, FOOTNOTEs, and Log
& Output Windows). This program constantly frees space occupied by datasets and catalogs.
• Define System Options and Global macro variable (REALTIME, LINE). Macro variable LINE is used as a separator.
Using the DATETIME function, create ‘ REALTIME’ macro variable. Using the SYSDATE and SYSTIME automatic macro
variables, in Windows environment, will give the Session time when you invoked SAS, rather than the Actual Run time.

Input None.
Output Tidy up, Definition of Global REALTIME and LINE Macro Variables,
Footnotes, and System Options, including PAGENO=1.

%MACRO setup / STORE DES='Setup Options & Date/Time' ;

PROC DATASETS NOLIST MT=DATA LIBRARY=WORK KILL ; RUN ; QUIT ;


TITLE ; FOOTNOTE ;
OPTIONS NOCENTER NODATE NONUMBER NOFMTERR PAGENO=1 SKIP=1 ;
%GLOBAL pnl line realtime ls ps ;
%LET ls = %EVAL (%SYSFUNC (GETOPTION (LS))) ;
%LET ps = %EVAL (%SYSFUNC (GETOPTION (PS))) ;
%LET line = %QSYSFUNC (REPEAT (%STR (_) , %EVAL (%SYSFUNC (GETOPTION (LS) ) - 1 ))) ;

DATA _NULL_ ;
CALL SYMPUT('realtime' , TRIM (LEFT (PUT ( TODAY () , WEEKDATE3. ))) || ',' ||
TRIM (LEFT (PUT (DATETIME () , DATETIME13.))) ) ; RUN ;
FOOTNOTE1 "&line" ;
FOOTNOTE2 "&SYSSCPL * %UPCASE(&dir\prog\&prg) * &realtime * [BY: &SYSUSERID]" ;

%MEND setup ;

(4) NMEMBER macro ( libname )


• Library Members Count and List.

Input LIBNAME raw data library reference.


Output NMEMBER macro variable, for the total number of datasets to be processed.
MEMNOn macro variables, which contain the MEMNAMEn.
RECORDn macro variables, which contain the Total Number of Records in MEMNOn.

%MACRO nmember (libname) / STORE DES='Total Members in a Library' ;

• Get all library member names. Keep necessary fields. Exclude any panels provided by the EXC user option, if any.

PROC DATASETS NOLIST MT=DATA LIBRARY=&libname ;


CONTENTS DIRECTORY NOPRINT MT=DATA DATA=_ALL_ OUT=WORK.memname
(KEEP=memname varnum nobs) ; RUN ; QUIT ;
PROC SORT DATA=memname OUT=memname ; BY memname varnum ; RUN ;

DATA memname ;
SET memname ;
BY memname varnum ;
IF LAST.memname ;
%IF &exc NE %STR ( ) %THEN %DO ;
IF INDEX(UPCASE(TRIM(LEFT("&exc")))||" ",UPCASE(COMPRESS(memname))||" ")>0 THEN DELETE ;
%END ; RUN ;

5
• Create a global macro variable NMEMBER. This is the number of panels that will be processed.

%GLOBAL nmember ;
DATA memname ;
SET memname END=eof ;
BY memname NOTSORTED ;
memno+1 ;
IF eof THEN CALL SYMPUT ( 'nmember' ,TRIM (LEFT (PUT (memno,3.)))) ;
LABEL memno = 'Member Number'
memname = 'Member Name'
varnum = 'Variables Total'
nobs = 'Records Total' ; RUN ;

• Give sequence number MEMNO for each member. Create global macro variables MEMNOn, which contain the
MEMNAMEn. Create and set macro variables RECORDn to 0.

DATA memname ;
RETAIN memno memname varnum nobs ;
SET memname ; RUN ;

%DO i=1 %TO &nmember ;


%GLOBAL memno&i record&i ;
%LET record&i = %STR(0) ;
%END ;

DATA _NULL_ ;
SET memname ;
CALL SYMPUT( 'memno' || LEFT (PUT (memno,3.)) , TRIM (memname)) ; RUN ;
%MEND nmember ;

(5) NSUBJECT macro ( sbj )


• Unique Subjects Count and Unique IDs.

Input SBJ subject identifying dataset (such as Randomization, Demographics). It must contain All subjects
Output NSUBJECT macro variable, for the total number of subjects to be processed.
SBJNOn macro variables, which contain the unique ids SIDn.

%MACRO nsubject (sbj) / STORE DES='Total Subjects in a Study' ;

• Get all subject unique IDs. Subset for only those subjects provided by the SUB subset user option, if any.

PROC SORT NODUPKEY DATA=raw.&sbj OUT=sbj (KEEP=&sid) ;


%IF &sub NE %STR( ) %THEN %DO ; WHERE &sub ; %END ;
BY &sid ; RUN ;

• Create a global macro variable NSUBJECT. This is the number of subjects that will be processed.

%GLOBAL nsubject ;
DATA sbj ; SET sbj END=eof ;
BY &sid NOTSORTED ;
sbjno+1 ;
IF eof THEN CALL SYMPUT ( 'nsubject' , TRIM (LEFT (PUT (sbjno,4.)))) ;
label sbjno = 'Subject Sequence'
&sid = 'Subject Unique ID' ; RUN ;

6
• Give sequence number SBJNO for each subject. Create global macro variables SBJNOn, which contain the SIDn.

%DO i=1 %TO &nsubject ; %GLOBAL sbjno&i ; %END ;


DATA sbj ;
RETAIN sbjno &sid ;
SET sbj ;
CALL SYMPUT ( 'sbjno' || LEFT (PUT (sbjno,4.)) , TRIM (LEFT (&sid))) ; RUN ;

%MEND nsubject ;

(6) GEPROF macro ( pnl )


• Get a panel data (Profile), drop variable, sort, order the key ID variables, and print.

Input PNL panel name.


Output PNL panel after sorting. Print of this panel.

%MACRO getprof (pnl) / STORE DES='Get Profile in a Panel' ;

• Get panel, drop any variable provided by the DRP user option, if any. Create a variable PANEL(contains dataset name).
Sort by variables according to their order in database, or provided by the key SRT user option, if any.

DATA &pnl ;
RETAIN panel ;
SET &pnl ;
LENGTH panel $8 ;
panel = %upcase ("&pnl") ;
LABEL panel = 'Panel' ;
%IF &drp NE %STR( ) %THEN %DO ; DROP &drp ; %END ;
RUN ;

PROC SORT DATA=&pnl OUT=pnl ;


BY panel %IF &srt NE %STR( ) %THEN %DO ; &srt %END ;;
RUN ;

• Create a Record Sequence Number that will identify the record if output is spread among multiple pages.
Order and Print all the variables and values for this panel.

DATA pnl ;
RETAIN rec panel %IF &srt NE %STR( ) %THEN %DO ; &srt %END ;;
SET ;
BY panel %IF &srt NE %STR( ) %THEN %DO ; &srt %END ;;
Rec = _N_ ;
LABEL rec = 'Rec ID' ; RUN ;

PROC PRINT LABEL DATA=pnl ;


ID rec ;
TITLE1 "Profile for ** %UPCASE(&sid): &&sbjno&i ** PANEL: %UPCASE(&pnl)" ;
TITLE2 "&line" ;
TITLE3 " " ; RUN ;

PROC DATASETS NOLIST MT=DATA LIBRARY=WORK ;


DELETE &pnl ; RUN ; QUIT ;

%MEND getprof ;

7
(7) GETALL macro ( libname) Main Analysis Loop
• Get All requested panels and process for all subjects.

Input LIBNAME raw data library reference.


Output Print Out profiles for each Subject, All PNLs in this library, and Overall summary of all panels.

%MACRO getall (libname) / STORE DES='Get Profile from All Panels' ;

• Invoke NMEMBER and NSUBJECT macros. Get all panels, and apply specifics for all or for each (if any).
Create a macro variable for PANEL (contains dataset name) and RECORDn (total records) to be used in the title.
Print a log message indicating the currently processed Subject ID, Panel Name, and Total Records.

%nmember (&libname) ;

%nsubject (&sbj) ;

%DO i=1 %TO &nsubject ;


%DO j=1 %TO &nmember ;

%LET pnl = &&memno&j ;


DATA &&memno&j ;
SET raw.&&memno&j ;
IF &sid = "&&sbjno&i" ;
%specific ; RUN ;

%getprof (&&memno&j) ;
DATA _NULL_;
SET pnl NOBS=nobs ;
%LOCAL zero ; %LET zero = %STR (0) ;
IF nobs GT 0 THEN CALL SYMPUT('record'||LEFT(PUT(&j,3.)),TRIM(LEFT(nobs))) ;
ELSE CALL SYMPUT('record'||LEFT(PUT(&j,3.)),TRIM(LEFT(&zero))); RUN ;
%PUT ** &&sbjno&i &&memno&j &&&record&j ** Subject/ Panel/ Total Records ***** ;

%END ;
%END ;

• Print an overall summary of the processed panels for all subjects, including panel name, total variables and number of
records processed.

PROC PRINT NOOBS LABEL DATA=memname ;


SUM nobs ;
TITLE1 "Profile Overall for All Processed Panels : %upcase(&dat\All)" ;
TITLE2 "&line" ; RUN ;

PROC DATASETS NOLIST MT=DATA LIBRARY=WORK ;


DELETE pnl memname ; RUN ; QUIT ;

%MEND getall ;

(8) PROFILE macro


• Display Profile Input Window, take user input options, and process.

Input None.
Output Full report of profile for each panel and an overall summary.

8
%MACRO profile / STORE DES='Display Input Window & Process' ;
• Invoke SETUP macro, display Profile Window.

%GLOBAL dat sbj sid fmt out sub exc drp srt orgdrp orgsrt ;
%setup ;

• PROFILE Window: Required Datasets Directory, Subject ID Variable & Dataset.


Optional Formats Catalog Directory, Output Directory to save LST/LOG, Subset Rule,
Excluded Panels, Drop Variables & Key Sort Variables.

%WINDOW profile

#1 @9 "Patient Profile" A=rev_video P=yes C=orange


#2 @9 "Access Date & Time : &realtime." A=rev_video P=yes C=magenta
#4 @9 "PLEASE ENTER YOUR CHOICE ( Q to Quit ):"A=underline P=yes C=green

#7 @6 "Get Datasets at: "@23 dat 70 A=underline AUTO=yes C=blue REQUIRED=yes


#8 @23 "[ Required:" C=orange A=rev_video
@34 "Raw Data Directory ]" C=black @80 "[70 Char]"
#10 @6 "Subject Dataset: "@23 sbj 70 A=underline AUTO=yes C=blue REQUIRED=yes
#11 @23 "[ Required:" C=orange A=rev_video
@34 "Subject / Randomization Dataset]" C=black
#13 @6 "Unique ID Var : "@23 sid 70 A=underline AUTO=yes C=blue REQUIRED=yes
#14 @23 "[ Required:" C=orange A=rev_video
@34 "Subject Unique ID Variable ]" C=black

#17 @6 "Get Formats at: "@23 fmt 70 A=underline AUTO=yes C=blue


#18 @23 "[ Blank: Non-Formatted Output ]"
#20 @6 "Save LST/LOG at: "@23 out 70 A=underline AUTO=yes C=blue
#21 @23 "[ Blank: Display only ]"
#23 @6 "Subset Rule : "@23 sub 70 A=underline AUTO=yes C=blue
#24 @23 "[ Blank: All Records ]"
#26 @6 "Exclude Panels : "@23 exc 70 A=underline AUTO=yes C=blue
#27 @23 "[ Panels to exclude, Space between ]"
#29 @6 "Drop Variables : "@23 drp 70 A=underline AUTO=yes C=blue
#30 @23 "[ Variables to drop, Space between ]"
#32 @6 "Sort Variables : "@23 srt 70 A=underline AUTO=yes C=blue
#33 @23 "[ Key Sort Variables,Space between ]"

#36 @23 "Press" C=red @29 "RETURN" A=underline C=orange @36 "to continue." C=red ;

• Display the user interface, conditionally process the window Input Options and Execute Macros. Exit if errors.

%DISPLAY profile ;

%* More SAS statements to read the input from user window and conditionally process them;

%EXIT: %MEND profile ;

CONCLUSION

This macro will list patient profile extracted from all available datasets. It is very simple to use and has a user interface in
the form of an input window, which is helpful for non-SAS users as well as for the experts. The user will be in control of
specifics for each project. The set of generic macros will do the rest. Due to the huge size of printed output, the big plus here is
the option for sub-setting for one individual subject or a group of subjects, to reduce unnecessary output. This will run for any
project or any client. The macros are Generic and do not need to be modified for specific projects.

9
VALIDATION

The macros and sample calls have been fully tested and validated using SAS Version 8.02 software on Microsoft
Windows ® platform.

REFERENCES

• "Electronic Submission of SAS Data and Catalogs Simplified", by Adel Fahmy,


PharmaSUG 2003, Pharmaceutical Section, Paper P072, (www.pharmasug.org).
• SAS Macro Language, Reference , V8, Oct 1999.
• SAS Procedures Guide, Reference , V8, Jun 2003.
• SAS Language Reference, Concepts, V8, Nov 1999.
• SAS Base, Language Reference, V6, E1, Feb 1996.

AUTHOR

Adel has been a SAS user for 20 years. He worked as Independent Consultant, Sr. Statistical Programmer and Director of
Systems; at major pharmaceutical companies, clinical research organizations, and universities, teaching SAS to faculty and
students. His special achievements include Generic Macros, Edit Checks, Database Design, Menu-Driven Systems and
Optimization Techniques.
Adel has BS in Mathematics, Graduate Diploma in Systems Design, MS and M.Phil. in Computer Science from
Nottingham University, UK.

CONTACT

Your comments and questions are welcomed. The author can be contacted at:
Adel Fahmy, EMS: Adel.Fahmy@netzero.net Voice: (732) 422 6651

COPYRIGHTS

SAS® and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute
Inc. in the USA and other countries. ® indicates USA registration. Windows® is a registered trademark of Microsoft Inc. Other
brand and product names are registered trademarks or trademarks of their respective companies.

10
APPENDIX 1
Following is a sample output for a single subject that includes some datasets and the Overall Summary
for All subjects.

Page 1
________________________________________________________________________________________________________

Profile for ** PATID: 203 ** PANEL: DEMOG


________________________________________________________________________________________________________

Rec PATIENT PATIENT CRF PAGE VISIT VISIT DATE OF


ID Panel ID # INITIALS NUMBER NUMBER DATE ETHNICITY RACE SEX BIRTH

1 DEMOG 203 RJK 4 -1 09/14/04 Hispanic/Latino Caucasian Female 10/02/29


________________________________________________________________________________________________________
WIN_PRO * C:\_RESEARCH\PROFILE\PROG\PROFILE * Sun,12FEB06:15:30 * [By: adelf]

Page 2
________________________________________________________________________________________________________

Profile for ** PATID: 203 ** PANEL: ADVEV


________________________________________________________________________________________________________

LINE DID PATIENT AE


Rec PATIENT PATIENT CRF PAGE NUMBER ON EXPERIENCE AE START RESOLUTION
ID Panel ID # INITIALS NUMBER CRF PAGE ANY AE'S? ADVERSE EVENT DATE DATE

1 ADVEV 203 RJK 32.01 1 Yes CRAMPING 09/14/04 09/14/04


2 ADVEV 203 RJK 32.01 2 Yes DIAPHORESIS 09/14/04 09/14/04
3 ADVEV 203 RJK 32.01 3 Yes WORSENED RUNNY NOSE 09/14/04 09/14/04
4 ADVEV 203 RJK 32.01 4 Yes CRAMPING 09/14/04 09/14/04
5 ADVEV 203 RJK 32.01 5 Yes CRAMPING 09/16/04 09/16/04
6 ADVEV 203 RJK 32.01 6 Yes DIAPHORESIS 09/16/04 09/16/04
7 ADVEV 203 RJK 32.02 2 Yes LIGHTHEADEDNESS 09/16/04 09/16/04
8 ADVEV 203 RJK 32.02 3 Yes CRAMPING 09/16/04 09/16/04
9 ADVEV 203 RJK 32.02 4 Yes LEFT SHOULDER PAIN 09/17/04 .
10 ADVEV 203 RJK 32.02 5 Yes CRAMPING 09/21/04 09/21/04
11 ADVEV 203 RJK 32.02 6 Yes CRAMPING 09/21/04 09/21/04
12 ADVEV 203 RJK 32.03 1 Yes CRAMPING 09/23/04 09/23/04

Rec AE CTC AE AE AE AE
ID SEVERITY SCALE RELATIONSHIP SERIOUS OUTCOME ONGOING ACTION

1 Severe No Probable No Resolved No None


2 Severe No Probable No Resolved No None
3 Severe No Possible No Resolved No None
4 Severe No Probable No Resolved No None
5 Moderate No Probable No Resolved No None
6 Severe No Probable No Resolved No None
7 Mild No Probable No Resolved No None
8 Moderate No Probable No Resolved No None
9 Severe No Not Related No Ongoing Yes None
10 Severe No Probable No Resolved No None
11 Moderate No Probable No Resolved No None
12 Mild No Probable No Resolved No None
________________________________________________________________________________________________________
WIN_PRO * C:\_RESEARCH\PROFILE\PROG\PROFILE * Sun,12FEB06:15:30 * [By: adelf]

11
Page 3
________________________________________________________________________________________________________

Profile for ** PATID: 203 ** PANEL: EOS


________________________________________________________________________________________________________

Rec PATIENT PATIENT CRF PAGE VISIT VISIT DATE OF PRIMARY REASON
ID Panel ID INITIALS NUMBER NUMBER DATE ASSESSMENT FOR ENDING STUDY

1 EOS 203 RJK 28 199 . 09/28/2004 .

EXPLAIN DID SUBJECT INVESTIGATOR


Rec DATE OF OTHER COMPLETE THE INVESTIGATOR SIGNATURE
ID DEATH DETAILS STUDY? SIGNATURE Y/N DATE

1 . Yes Yes 01/25/05


________________________________________________________________________________________________________
WIN_PRO * C:\_RESEARCH\PROFILE\PROG\PROFILE * Sun,12FEB06:15:30 * [By: adelf]

[ Other Datasets Information .................... ]

Page 8
________________________________________________________________________________________________________

Profile Overall for All Processed Panels : C:\_RESEARCH\PROFILE\DATA\ALL


________________________________________________________________________________________________________

Member Member Variables Records


Number Name Total Total

1 ADVEV 23 18
2 CONMED 23 71
3 DEMOG 15 5
4 EOS 17 5
5 PHYSEX 46 12
6 VITALS 20 8
7 WHO 11 8
=======
127

________________________________________________________________________________________________________
WIN_PRO * C:\_RESEARCH\PROFILE\PROG\PROFILE * Sun,12FEB06:15:30 * [By: adelf]

12

You might also like