data one; input clinic care outcome count; cards; 1 1 1 3 1 1 2 176 1 2 1 4 1 2 2 293 2 1 1 17 2 1 2 197 2 2 1 2 2 2 2 23 ; run; options nocenter; proc freq; tables clinic*care outcome*clinic*care clinic*outcome care*clinic*outcome care*outcome clinic*care*outcome/measures; weight count; run; /* null model */ proc genmod; model count = /dist=poi link=log; run; /* mutual independence model */ proc genmod; class clinic care outcome; model count = clinic care outcome/dist=poi link=log; run; /* joint indep model */ proc genmod; class clinic care outcome; model count = clinic care outcome clinic*care/dist=poi link=log; run; proc genmod; class clinic care outcome; model count = clinic care outcome clinic*outcome/dist=poi link=log; run; proc genmod; class clinic care outcome; model count = clinic care outcome care*outcome/dist=poi link=log; run; /* conditional indep model */ proc genmod; class clinic care outcome; model count = clinic care outcome clinic*care clinic*outcome/dist=poi link=log; run; proc genmod; class clinic care outcome; model count = clinic care outcome clinic*care care*outcome/dist=poi link=log; run; proc genmod; class clinic care outcome; model count = clinic care outcome clinic*outcome care*outcome/dist=poi link=log; run; /* Homogeneous association */ proc genmod; class clinic care outcome; model count = clinic care outcome clinic*outcome care*outcome clinic*care/dist=poi link=log; run; /* saturated model */ proc genmod; class clinic care outcome; model count = clinic|care|outcome /dist=poi link=log; run; /* short cut method to get all two-way interactions */ proc genmod; class clinic care outcome; model count = clinic|care|outcome@2 /dist=poi link=log; run; /* a reduced (and final) model */ proc genmod; class clinic care outcome; model count = clinic care outcome clinic*care clinic*outcome /dist=poi link=log; run;