	model 
	{
	#
	# Construct individual response data from contingency table
	#
		for (i in 1 : Ncum[1, 1]) { 
			group[i] <- 1
			for (t in 1 : T) { response[i, t] <- pattern[1, t] }
		}
		for (i in (Ncum[1,1] + 1) : Ncum[1, 2]) { 
			group[i] <- 2 for (t in 1 : T) { response[i, t] <- pattern[1, t] }
		}

		for (k in 2  : Npattern) {
			for(i in (Ncum[k - 1, 2] + 1) : Ncum[k, 1]) {
				group[i] <- 1 for (t in 1 : T) { response[i, t] <- pattern[k, t] }
			}
			for(i in (Ncum[k, 1] + 1) : Ncum[k, 2]) {
				group[i] <- 2 for (t in 1 : T) { response[i, t] <- pattern[k, t] }
			}
		}
	#
	# Model
	#
		for (i in 1 : N) {
			for (t in 1 : T) {
				for (j in 1 : Ncut) {
	#  
	# Cumulative probability of worse response than j
	#
					logit(Q[i, t, j]) <- -(a[j] + mu[group[i], t] + b[i])
				}
	#
	# Probability of response = j
	#
				p[i, t, 1] <- 1 - Q[i, t, 1]
				for (j in 2 : Ncut) { p[i, t, j] <- Q[i, t, j - 1] - Q[i, t, j] }
				p[i, t, (Ncut+1)] <- Q[i, t, Ncut]

				response[i, t] ~ dcat(p[i, t, ])
			}
	#
	# Subject (random) effects
	#
			b[i] ~ dnorm(0.0, tau)
	}

	#
	# Fixed effects
	#
		for (g in 1 : G) {
			for(t in 1 : T) { 
	# logistic mean for group i in period t
				mu[g, t] <- beta * treat[g, t] / 2 + pi * period[g, t] / 2 + kappa * carry[g, t] 
			}
		}                                                             
		beta ~ dnorm(0, 1.0E-06)
		pi ~ dnorm(0, 1.0E-06)
		kappa ~ dnorm(0, 1.0E-06)

	# ordered cut points for underlying continuous latent variable  
		a[1] ~ dflat()T(-1000, a[2])
		a[2] ~ dflat()T(a[1], a[3])
		a[3] ~ dflat()T(a[2],  1000) 

		tau ~ dgamma(0.001, 0.001)
		sigma <- sqrt(1 / tau)
		log.sigma <- log(sigma)

	}
