Ribociclib plus fulvestrant for advanced breast cancer: Health-related quality-of-life analyses from the MONALEESA-3 study
Loading...
Intervention
-
Control
-
Key Outcome
HRQOL Maintained
Study Design & Groups
Randomized comparison of Ribociclib + Fulvestrant vs. Placebo + Fulvestrant in HR+/HER2- advanced breast cancer.
Appendix & Provenance
Key Takeaways
- Ribociclib + Fulvestrant maintained HRQOL comparable to Placebo + Fulvestrant.
- Time to Deterioration (TTD) numerically favored Ribociclib in Global Health, Physical Functioning, and Pain.
- Pain scores improved early (8 weeks) in both arms.
Raw Data
AI edit element
Describe the change you want. Optional: attach an image.
No image attached
' +
'' +
'' +
'
' +
'' +
'' +
'';
return publish;
}
// helper: escape for embedding into template literal safely
function escapeHtml(s){
return String(s || '')
.replace(/&/g,'&')
.replace(//g,'>');
}
function escapeScriptTerminator(s){
return String(s || '').replace(/<\/script/gi, '<\\/script');
}
async function handlePublish(){
const w = document.querySelector('.raw-html-wrapper');
const pageId = w?.dataset?.pageId || w?.dataset?.pageid || '';
if(!pageId){
alert('Publish failed: missing data-page-id on .raw-html-wrapper');
return;
}
const pageTitle =
w?.dataset?.pageTitle ||
w?.getAttribute('data-page-title') ||
document.title ||
'Untitled';
const rawHtml = getPublishHTMLFromWrapper();
const headers = { "Content-Type": "application/json" };
const csrf = (window.mdwrtGetCSRFToken ? window.mdwrtGetCSRFToken() : "");
if(csrf) headers["X-CSRFToken"] = csrf;
const r = await fetch(window.SAVE_PUBLISH_API_URL, {
method: 'POST',
headers,
credentials: 'include',
cache: 'no-store',
body: JSON.stringify({
page_id: pageId,
title: pageTitle, // <-- add this
raw_html: rawHtml
})
});
const text = await r.text();
if(!r.ok){
alert('Publish failed: ' + r.status + ' ' + text.slice(0, 300));
return;
}
alert('Published.');
}
async function handleSave(){
await handlePublish(); // Save = Publish
}
if(adminSave){
adminSave.addEventListener('click', async () => {
if(aiBusy) return;
await handleSave();
});
}
if(adminTheme){
adminTheme.addEventListener('click', () => {
if(themePanel){
const show = themePanel.style.display !== 'block';
themePanel.style.display = show ? 'block' : 'none';
if(show) setPaletteFromVars();
}
});
}
if(adminAddContainer){
adminAddContainer.addEventListener('click', () => {
if(!editorOn || !editorRoot) return;
pushHistory();
const c = document.createElement('div');
c.className = 'admin-container';
c.setAttribute('data-copyable', 'true');
c.textContent = 'New container';
const host = getPrimaryZone() || editorRoot;
const sections = Array.from(host.querySelectorAll('[data-section="1"]'));
const last = sections[sections.length - 1];
if(last && last.parentElement === host){
safeInsertBefore(host, c, last.nextSibling);
}else{
host.appendChild(c);
}
c.setAttribute('data-section', '1');
c.classList.add('mdwrt-section');
initDragFor(c);
setSelected(c);
markSections();
});
}
if(adminDelete){
adminDelete.addEventListener('click', () => {
if(!editorOn) return;
let target = ctxTarget;
if(target && target.closest){
if(!target.hasAttribute('data-section')){
target = target.closest('[data-section="1"], .admin-container');
}
}
if(!target){
alert('Select a container to delete.');
return;
}
if(!confirm('Delete this container?')) return;
pushHistory();
target.remove();
ctxTarget = null;
ctxActionTarget = null;
if(ctxLabel) ctxLabel.textContent = 'Selected: none';
markSections();
});
}
}
})();