On Wed, 21 Feb 2001 10:54:18 -0500, Eileen Farrelly
>I would like to fully automate the following:
>I am calculating the percentage of patients for whom I have data on over
>the total population of the plan and I am calculating the per Member per
>Month cost (PMPM) (for a particular class of drugs).
>Among other variables I have the following:
>ptid date drug cost
>1 01/01/99 A 63.50
>1 02/01/99 A 63.50
>1 03/01/99 B 27.46
>2 02/03/99 C 45.20
>2 06/05/99 D 75.20
>3 08/02/99 A 57.64
>3 09/01/99 A 58.64
>3 10/11/99 B 35.00
>Although it is not in the data, I know the plan's total population to be
>I can get the number of unique patients using the following:
> set one;
> by ptid;
> if first.ptid;
>But then I have to calculate the percentage of unique patients over the
>total plan membership with my calculator - is there a way (using a macro?)
>that I can get the number of unique patients and divide it by the total
>I have the same issue with calculating the PMPM.
>The formula is :
> PMPM=((SUM cost)/12)
> / plan's total population
>I can get the SUM of the costs using proc means but then I have to use the
>calculator to divide that by 12 and then divide by the total plan
>I am trying to automate things so that SAS will directly output the
>computed values for me.
>Thanks in advance!!
both should be very easy. I might not understand exactly what you want, but
You can get summaries with PROC SUMMARY. If you don't use the NWAY option
you can select all aggregation levels with the _TYPE_ variable. The
_TYPE_=0 level is over the whole dataset.
call symput("all",_freq_); or another variable where a sum over the
whole data is contained...
will give it to you in the macro variable &all
This variable you can use in each data step to calculate anything you want!
e.g use your formula: