Probably, five level reporting is the most useful for AE reporting when you consider the levels in AE reporting namely "System Organ Class", "High Level Group Term", "High Level Term", "Preferred Term" and "Intensity". The higher the level you have counts and percentages for, for different treatment regimens, the more significant are the differences between drug adverse events between treatment arms that could be used in statistical analysis. Other low levels you might want to display are "outcome" and "hospitalisation".
It is not clear why AE reporting is limited to only a few levels within most pharmaceutical companies. This could be due to the complexity of the software. Considering that my own %npcttab macro has become overly complicated and difficult to work on then this is a possible reason.
Part of the rethink of the %npcttab macro and the design of the %aetab macro was to split out the processing and make it more generic with no limitations assumed for the number of levels of reporting. To this end I split up the conceptual elements into the "levels" macros. There is a %freqlvls macro for calculating _FREQ_ counts, a %trnslvls macro for transposing these frequency counts by treatment group, a %comblvls macro for combining the text of the different levels and finally a %prntlvls macro for printing them.
In 2011, the %aetab macro is still relatively new. It has fewer parameters than %npcttab and is relatively easier to learn and understand. Because of this, I will leave it to the reader to learn more about its functionality from the macro header and in what follows below I will show you only a limited use of the %aetab macro. To learn more, you will have to read the macro header and try out your own test programs. You can link to the macro here.
More of the functionality of %npcttab will be added to %aetab but this will take some time and needs to be prioritized by user requests.
%aetab uses a "shared column" method of reporting corresponding to style=3 for %npcttab. %aetab has only this one style. This style is only suitable for ascii reports due to the use of split characters in the column values. Note that this style will only work for European character sets such that the letters are encoded in single bytes.
At some time in the future, %aetab might take over from %npcttab. It is a redesign and the code is much better but this isn't going to happen soon - if at all.
So we have code here that you can run and see the output and I recommend
you run the code yourself if you are able. It will produce three outputs
which will be shown below.
options noovp nodate nonumber nocenter missing=" " formchar='|_---|+|---+=|-/\<>*'
sasautos=("C:\spectre\macros" SASAUTOS) ls=90 ps=63; title1; proc format;
proc sort data=sasuser.demog(where=(fascd=1))
%popfmt(demog,trtcd,uniqueid=patno invid,trtfmt=trtnarr.) proc sort data=sasuser.adv
data adv;
*- %npcttab style=3 report -;
*- %aetab with the highest summation -;
*- %aetab made to look like %npcttab style=3 by dropping the highest
summation -;
|
This is the %npcttab style=3 output.
__________________________________________________________________________________________
Ambident Betamax
Gastrointestinal disorders
7 ( 77.8) 8 (100.0)
15 ( 88.2) 0.471^
General disorders and
6 ( 66.7) 5 ( 62.5)
11 ( 64.7) >0.999^
Psychiatric disorders
4 ( 44.4) 7 ( 87.5)
11 ( 64.7) 0.131^
Musculoskeletal and connective
4 ( 44.4) 6 ( 75.0)
10 ( 58.8) 0.335^
Respiratory, thoracic and
5 ( 55.6) 5 ( 62.5)
10 ( 58.8) >0.999^
Vascular disorders
5 ( 55.6) 5 ( 62.5)
10 ( 58.8) >0.999^
Nervous system disorders
2 ( 22.2) 5 ( 62.5)
7 ( 41.2) 0.153^
|
This is the default %aetab output. Note that you must specify
a column width for %aetab. The difference between the %npcttab and %aetab
output is that there is an overall total for all patients that is automatically
generated.
__________________________________________________________________________________________
Ambident Betamax
Patients with any Adverse Event 7 ( 77.8) 8 (100.0) 15 ( 88.2) 0.471^ Gastrointestinal disorders
7 ( 77.8) 8 (100.0)
15 ( 88.2) 0.471^
General disorders and
6 ( 66.7) 5 ( 62.5)
11 ( 64.7) >0.999^
Psychiatric disorders
4 ( 44.4) 7 ( 87.5)
11 ( 64.7) 0.131^
Musculoskeletal and connective
4 ( 44.4) 6 ( 75.0)
10 ( 58.8) 0.335^
Respiratory, thoracic and
5 ( 55.6) 5 ( 62.5)
10 ( 58.8) >0.999^
Vascular disorders
5 ( 55.6) 5 ( 62.5)
10 ( 58.8) >0.999^
Nervous system disorders
2 ( 22.2) 5 ( 62.5)
7 ( 41.2) 0.153^
|
And in the third case, %aetab has been asked to work like the %npcttab
macro by suppressing the highest level summation by setting the label to
a space.
__________________________________________________________________________________________
Ambident Betamax
Gastrointestinal disorders
7 ( 77.8) 8 (100.0)
15 ( 88.2) 0.471^
General disorders and
6 ( 66.7) 5 ( 62.5)
11 ( 64.7) >0.999^
Psychiatric disorders
4 ( 44.4) 7 ( 87.5)
11 ( 64.7) 0.131^
Musculoskeletal and connective
4 ( 44.4) 6 ( 75.0)
10 ( 58.8) 0.335^
Respiratory, thoracic and
5 ( 55.6) 5 ( 62.5)
10 ( 58.8) >0.999^
Vascular disorders
5 ( 55.6) 5 ( 62.5)
10 ( 58.8) >0.999^
Nervous system disorders
2 ( 22.2) 5 ( 62.5)
7 ( 41.2) 0.153^
|