We propose two complementary approaches to the scheduling of outpatient appointments. The first approach is to dynamically assign appointment times depending on the continuously updated patient schedule. The second approach is to statically design the system by either limiting the appointment backlog or regulating the demand rate through controlling the panel size, i.e. the population receiving the medical service. For the first approach - dynamic scheduling, we start with the assumption that patients come from a single class with homogeneous no-show and cancellation behaviors. We develop a Markov decision process model and propose easily implementable heuristic dynamic policies. In a simulation study that considers a model clinic, which is created using data from practice, we find that the proposed heuristics outperform all the other benchmark policies, particularly when the patient load is high compared with the regular capacity. We then extend our model to consider the scheduling of patients from multiple classes. In this model, different classes of patients are assumed to have different probability distributions for their no-show and cancellation behaviors. As in the single-class case, we develop heuristic dynamic policies. Simulation results suggest that our proposed heuristics perform well when the regular capacity is small. For the second approach - static design, we model the appointment backlog as a single-server queue where new appointments join the backlog from the back of the queue. Motivated by empirical findings, we assume that patients do not show up for their appointments with probabilities that increase with their waiting times before receiving service. We first study the model under the assumption of exponential service times. We characterize the optimal appointment backlog size and the optimal demand rate that maximize the system throughput and investigate how they change with other system parameters. Then we consider a special case where patients' no-show probabilities follow a specific parametric form. Under this special case, we obtain a simple closed-form expression for the optimal demand rate if we do not put a limit on the appointment backlog. Finally we conduct extensive numerical studies to investigate the situation where the service times are deterministic. The numerical results suggest that the insights generated in our analytical study by assuming exponential service times also hold for the situation with deterministic service times.