Writing a computer program for modeling multi-state disease process for cancer or chronic disease is often an arduous and time-consuming task. We have developed a SAS macro program for estimating the transition parameters in such models using SAS IML. The program is very flexible and enables the user to specify homogeneous and non-homogeneous (i.e. Weibull distribution, log-logistic, etc.) Markov models, incorporate covariates using the proportional hazards form, derive transition probabilities, formulate the likelihood function, and calculate the maximum likelihood estimate (MLE) and 95% confidence interval within a SAS subroutine. The program was successfully applied to an example of a three-state disease model for the progression of colorectal cancer from normal (disease free), to adenoma (pre-invasive disease), and finally to invasive carcinoma, with or without adjusting for covariates. This macro program can be generalized to other k-state models with s covariates.