"Bayesian cost-effectiveness analysis from clinical trial data" by A O'Hagan, J W Stevens and J Montmartin WinBUGS program A. The model model { for(j in 1:N1) { X1[ j, 1:2 ] ~ dmnorm( alpha1[], tau1[,] ) } for(j in 1:N2) { X2[ j, 1:2 ] ~ dmnorm( alpha2[], tau2[,] ) } alpha1[ 1:2 ] ~ dmnorm( m1[], w1[,] ) alpha2[1:2] ~ dmnorm( m21[], w21[,] ) for(t in 1:2) { alpha1dif[t] <- alpha1[t] - m1[t] } for(k in 1:2) { m21[k] <- m2[k] + inprod( c[k,], alpha1dif[] ) } tau1[ 1:2, 1:2 ] ~ dwish( A1[,], f1 ) tau2[ 1:2, 1:2 ] ~ dwish( A2[,], f2 ) for(k in 1:NK) { Q[k] <- step( (alpha1[2] - alpha2[2]) - K[k] * (alpha1[1] - alpha2[1]) ) } effic <- step(alpha2[1] - alpha1[1]) cheap <- step(alpha1[2] - alpha2[2]) dominant <- effic * cheap } Note: The model ends with definitions of Q (the C/E acceptability, for which a vector of K values is needed) and some other binary variables. The variable effic is 1 when treatment 2 is more effective than 1, and cheap is 1 if it is cheaper. Then dominant is 1 if treatment 2 is both better and cheaper. B. The data, TACTIC study, UK patients, outcome days of exacerbation. list( N1=58, N2=62 ) X1[,1] X1[,2] -45.12363 161.6999 0 660.3283 -3.008242 155.6507 0 194.5484 -2.005495 190.4159 -2 2339.148 -36 1063.718 -24.06593 420.7408 -5.027548 601.83 0 350.0813 -34.18733 1359.761 -1 581.9234 -5 488.8596 -1 266.1439 0 377.6088 0 48.17163 0 242.0741 0 363.7085 0 79.278 -21 2066.987 0 340.5153 -14 191.8963 -1 447.421 0 276.0091 -1 857.252 -2 671.6 -1.025281 204.9268 0 321.8638 0 182.7198 -35.19284 554.7409 0 240.5935 -30.08242 1363.824 0 1138.358 -331.9093 322.0964 0 325.4537 0 79.278 -7 305.3161 -76.68067 278.0916 0 372.4307 -220 477.2198 -4 8.475721 -6.952381 491.3878 -1.871795 68.46546 -1.031073 855.3694 0 72.74691 0 100.74 0 19871.29 -25 290.1953 0 26201 0 160.4786 0 174.6438 -17.38095 295.5762 -51.14011 219.8611 0 1740.847 0 329.4807 -1.002747 534.5331 -3.008242 2969.119 0 450.8718 X2[,1] X2[,2] 0 247.3008 -5 316.6732 -12 457.7845 -22 614.0115 -1 553.9373 -2.005495 344.3198 -5.229226 436.6648 -13.19277 717.7548 0 420.6906 0 1688.873 -4.010989 2229.76 -168.4615 254.8444 0 488.272 0 355.1742 0 449.1523 0 414.4775 0 273.0714 -8.366762 534.9839 -41.33978 2914.818 0 300.4492 0 252.4848 0 135.05 -2 70.33643 -41.71429 710.6094 0 575.673 0 863.2679 -13 894.2594 0 44.10607 0 462.5573 0 855.8723 0 269.808 -75.20604 1792.574 0 532.0955 -1.002747 1517.419 0 1326.82 -5.013736 443.9916 0 401.4938 0 310.2165 -150.2941 558.4163 0 413.5413 -208.5714 1062.627 0 221.5263 0 153.3357 0 276.5895 0 1049.374 -104.2857 1371.634 -2.005495 493.1867 0 1184.208 -12.88235 29.054 0 135.05 0 333.8797 0 431.5406 0 633.037 -91 596.176 0 3862.745 0 2179.786 -3.110795 474.746 0 630.6039 -2.005495 713.1988 0 946.4378 -5 1414.337 0 778.0183 C. The prior. Basic prior expressing prior information on effectiveness only. Assume prior estimates that 50% of patients in group 1 (pMDI) would experience exacerbations, 40% in group 2 (Turbuhaler), and an average of 25 days for each such patient. This gives prior means of 12.5 and 10 respectively. Give reasonably large prior standard deviations of 5, but with standard deviation on the difference of only 4. This gives a correlation between the means and a prior probability of 0.734 that Turbuhaler is more effective. Give weak prior specifications for everything else. list( f1=2, f2=2, m1 = c(-12.5, 1500), m2 = c(-10, 1500), w1 = structure( .Data=c(0.04, 0 , 0, 0.000001), .Dim=c(2,2) ), w21 = structure( .Data=c(0.0744 , 0, 0, 0.000001), .Dim=c(2,2) ), c = structure( .Data=c(0.68, 0, 0, 0), .Dim=c(2,2) ), A1 = structure( .Data=c(100, 0, 0, 10000), .Dim=c(2,2) ), A2 = structure( .Data=c(100, 0, 0, 10000), .Dim=c(2,2) ) ) D. Specifying the C/E acceptability curve list( NK = 9, K = c(1, 3, 10, 30, 100, 300, 1000, 3000, 10000) ) E. Starting values list( alpha1 = c(-12.5, 1000), alpha2 = c(-10, 1000), tau1 = structure( .Data=c(100, 0, 0, 100000), .Dim=c(2,2) ), tau2 = structure( .Data=c(100, 0, 0, 100000), .Dim=c(2,2) ) )