Copy the following code at a
bookmarklet to audomate the FRAX website:
javascript:(function(){function s(e,v){const d=Object.getOwnPropertyDescriptor(e.__proto__,'value');d&&d.set&&d.set.call(e,v);e.dispatchEvent(new Event('input',{bubbles:true}))}function z(n){const num=parseFloat(n.replace(/[^0-9.]/g,''));return String(Math.round(num*10)).padStart(3,'0')}document.querySelector('.btn.btn-secondary.btn-clear')?.click();const p=new URLSearchParams(location.search),age=p.get('age'),sex=p.get('sex'),h=p.get('h'),w=p.get('w'),scanner=p.get('scanner'),bmd=p.get('BMD'),crfMap={CRFFR:'previousFracture',CRFFH:'parentFracturedHip',CRFRA:'rheumatoidArthritis',CRFGC:'glucocorticoids',CRFSM:'smoking',CRFAL:'alcohol',CRFSE:'secondaryOsteoporosis'};setTimeout(()=>{age&&s(document.querySelector('input[name="age"]'),age);h&&s(document.querySelector('input[name="bmi.height"]'),h);w&&s(document.querySelector('input[name="bmi.weight"]'),w);bmd&&s(document.querySelector('input[name="femoralNeckBMD.value"]'),bmd);if(sex){const e=document.querySelector('input[name="sex"][value="'+sex+'"]');e&&!e.checked&&e.click()}let chosen='Default';const sd=document.querySelector('.scanningEquipment.select__dropdown-indicator');if(sd){['mousedown','mouseup','click'].forEach(t=>sd.dispatchEvent(new MouseEvent(t,{bubbles:true,cancelable:true})));setTimeout(()=>{const o=[...document.querySelectorAll('[id^="react-select-5-option-"]')];let so=null;if(scanner?.toLowerCase()==='ge-lunar'){so=o[1];chosen='GE-Lunar'}else if(scanner?.toLowerCase()==='hologic'){so=o[2];chosen='Hologic'}else{so=o[0]}so&&so.click();const cd=document.querySelector('.country.select__dropdown-indicator');if(cd){['mousedown','mouseup','click'].forEach(t=>cd.dispatchEvent(new MouseEvent(t,{bubbles:true,cancelable:true})));setTimeout(()=>{[...document.querySelectorAll('[id^="react-select-3-option-"]')].find(opt=>opt.textContent.trim().toLowerCase().includes('uk'))?.click()},500)}},500)}Object.entries(crfMap).forEach(([param,name],i)=>{if(p.has(param)){const val=p.get(param),el=document.querySelector('input[name="'+name+'"]');if(el){setTimeout(()=>{if((val==="1")!==el.checked){el.click()}},600+i*100)}}});setTimeout(()=>{document.querySelector('.btn.btn-primary.btn-calculate')?.click();setTimeout(()=>{const mo=document.querySelector('.maj_ost_prob_value'),hf=document.querySelector('.hi_frax_prob_value');if(mo&&hf){const moVal=z(mo.textContent),hfVal=z(hf.textContent),str='999'+moVal+hfVal;navigator.clipboard.writeText(str).then(()=>{console.log('Copied to clipboard:',str);alert('FRAX+ data copied to clipboard: '+str)}).catch(e=>alert('Clipboard error: '+e.message));}},2500)},1500);},500);})();