What is the World Service Conference?
The World Service Conference (WSC) is the annual meeting of the Chronic Pain Anonymous (CPA) worldwide fellowship. It is a gathering of group Delegates, Intergroup Delegates, General Advisory Council officers, General Service Virtual Office administrators, and Board of Trustees members. Through their service at the WSC, these trusted servants ensure the best guidance and support of the fellowship as a whole. The purpose of the WSC is to provide a forum where the issues and policies affecting all CPA groups can be discussed and where informed decisions can be made with all members of the Fellowship represented.

Announcements

PLANNING FOR THE WSC COMMITTEE NEEDS A SECRETARY!!!

IF NO ONE IS CONFIRMED BY JULY 31, THERE WILL NOT BE A WORLD SERVICE CONFRENCE IN 2027.

2026 WSC Summary Report (This is an unedited draft. All the information from the WSC is included, such as the agenda, proposals, reports, etc. The final copy will be available in a few weeks.)

Quorum Calculator

When you enter the number of voting meeting delegates present, this calculator will give you the maximum allowed number of service delegates and the total number of delegates.

(function () { function ensureResults(afterEl) { var r = document.getElementById("results"); if (r) return r; r = document.createElement("div"); r.id = "results"; r.style.padding = "12px 0"; r.style.whiteSpace = "normal"; if (afterEl && afterEl.parentNode) { afterEl.parentNode.insertBefore(r, afterEl.nextSibling); } else { document.body.appendChild(r); } return r; } function bind() { var btn = document.getElementById("calcbtn2"); if (!btn) return false; if (btn.dataset.bound === "1") return true; btn.dataset.bound = "1"; btn.addEventListener("click", function (e) { e.preventDefault(); var results = ensureResults(btn); var input = document.getElementById("MeetingDelegates2"); if (!input) { results.innerHTML = "

Error: Missing input with id MeetingDelegates2.

"; return; } var n = Number(input.value); if (!Number.isFinite(n)) { results.innerHTML = "

Please enter a valid number.

"; return; } var serviceUnrounded = n / 2; var serviceRounded = Math.round(serviceUnrounded); var totalUnrounded = n + serviceUnrounded; var totalRounded = Math.round(totalUnrounded); results.innerHTML = "

Number of Meeting Delegates: " + n + "

" + "

Number of Service Delegates Allowed (unrounded): " + serviceUnrounded + "

" + "

Number of Service Delegates Allowed (rounded): " + serviceRounded + "

" + "

Total Delegates Allowed (unrounded): " + totalUnrounded + "

" + "

Total Delegates Allowed (rounded): " + totalRounded + "

"; }); return true; } if (bind()) return; var tries = 0; var t = setInterval(function () { tries++; if (bind() || tries > 40) clearInterval(t); }, 100); })();

Substantial Unanimity Calculator

When you enter the number of voting delegates present plus the agreed percentage for substantial unanimity, this calculator will give you the number of yes votes needed for a motion to pass.



2/3 3/4
(function () { function parseUnanimity(raw) { raw = String(raw || "").trim(); // "2/3" or "0.75" if (raw.includes("/")) { var p = raw.split("/"); var a = Number(p[0]), b = Number(p[1]); return (Number.isFinite(a) && Number.isFinite(b) && b !== 0) ? (a / b) : NaN; } return Number(raw); } function getOrCreateResults(btn) { var r = document.getElementById("resultsSU"); if (r) return r; r = document.createElement("div"); r.id = "resultsSU"; r.style.marginTop = "10px"; // Insert directly under the button that was clicked if (btn && btn.parentNode) btn.parentNode.insertBefore(r, btn.nextSibling); else document.body.appendChild(r); return r; } function run(btn) { var results = getOrCreateResults(btn); var delegatesEl = document.getElementById("Delegates"); var dd = document.getElementById("SubstantialUnanimityDropDown") || document.getElementById("SubstantialUnanimity"); if (!delegatesEl) { results.innerHTML = "

SU error: Missing input #Delegates on this view.

"; return; } if (!dd) { results.innerHTML = "

SU error: Missing dropdown #SubstantialUnanimityDropDown (or #SubstantialUnanimity).

"; return; } var n = Number(delegatesEl.value); if (!Number.isFinite(n)) { results.innerHTML = "

Please enter a valid number of delegates.

"; return; } var raw = dd.value; var u = parseUnanimity(raw); if (!Number.isFinite(u)) { results.innerHTML = "

Please select a valid unanimity threshold.

"; return; } var unrounded = n * u; var rounded = Math.round(unrounded); results.innerHTML = "

Number of Voting Delegates: " + n + "

" + "

Substantial Unanimity Selected: " + raw + "

" + "

Yes Votes Needed To Pass (unrounded): " + unrounded + "

" + "

Yes Votes Needed To Pass (rounded): " + rounded + "

"; } function matchButton(target) { if (!target || !target.closest) return null; return target.closest("#calcbtn1") || target.closest('[data-su-btn="1"]'); } function handler(e) { var btn = matchButton(e.target); if (!btn) return; e.preventDefault(); run(btn); } // Works on desktop + mobile document.addEventListener("pointerup", handler, true); document.addEventListener("click", handler, true); })();