*! version 1.0.0 28aug1997 (STB-56: sbe35) program define calccci version 5.0 global D_run "1" global DB_aval global DB_bval global DB_cval global DB_dval global DB_level "$S_level" global DB_exact = 0 global DB_tb = 0 global DB_woolf = 0 global DB_or "or" global DB_a "Cases exposed" window control static DB_a 5 5 80 9 window control edit 90 5 25 10 DB_aval global DB_b "Cases unexposed" window control static DB_b 5 20 80 9 window control edit 90 20 25 10 DB_bval global DB_c "Controls exposed" window control static DB_c 5 35 80 9 window control edit 90 35 25 10 DB_cval global DB_d "Controls unexposed" window control static DB_d 5 50 80 9 window control edit 90 50 25 10 DB_dval global DB_ci "Confidence level" window control static DB_ci 5 65 80 9 window control edit 90 65 15 10 DB_level window control check "Exact (Fisher) p-value" 20 80 80 9 DB_exact window control check "Test-based CI's" 20 90 80 9 DB_tb window control static DB_or 50 100 80 9 window control check "Woolf approximation CI's" 20 110 90 9 DB_woolf window control button "Run" 10 125 30 18 DB_run window control button "Cancel" 50 125 30 18 DB_can window control button "Help" 90 125 30 18 DB_help help global DB_run "runcci" global DB_can "exit 3000" global DB_help "whelp calcmenu" cap noi window dialog "Case-control" . . 130 160 global D_run end program define runcci if trim("$DB_aval") == "" | trim("$DB_bval") == "" | /* */ trim("$DB_cval") == "" | trim("$DB_dval") == "" { window stopbox stop "Missing values not allowed." exit } if $DB_aval < 0 | $DB_bval < 0 | $DB_cval < 0 | $DB_dval < 0 { window stopbox stop "Number must be >= 0." exit } if $DB_aval == . | $DB_bval == . | $DB_cval == . | $DB_dval == . { window stopbox stop "Missing values not allowed." exit } if $DB_level < 10 | $DB_level > 99 { dis in re "'$DB_level' is an invalid confidence level" exit } global S_level $DB_level local D_e "" local D_tb "" local D_w "" if $DB_exact { local D_e "e" } if $DB_tb { local D_tb "tb" } if $DB_woolf { local D_w "w" } if "$D_run"~="" { di in wh "cci $DB_aval $DB_bval $DB_cval $DB_dval, level($S_level) `D_e' `D_tb' `D_w'" } else { di di in wh ". cci $DB_aval $DB_bval $DB_cval $DB_dval, level($S_level) `D_e' `D_tb' `D_w'" } global D_run cci $DB_aval $DB_bval $DB_cval $DB_dval, level($S_level) `D_e' `D_tb' `D_w' window push cci $DB_aval $DB_bval $DB_cval $DB_dval, level($S_level) `D_e' `D_tb' `D_w' end