Design Blast

#db-clinic-audit{--blue:#1769e0;--navy:#102a56;--ink:#202b3c;--muted:#667085;--line:#e3e9f2;--soft:#f5f8fd;font-family:Inter,Arial,sans-serif;color:var(--ink);max-width:1050px;margin:auto;font-size:15px} #db-clinic-audit *{box-sizing:border-box} #db-clinic-audit .ca-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:18px;box-shadow:0 5px 24px rgba(16,42,86,.045)} #db-clinic-audit .ca-eyebrow{font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--blue);margin-bottom:8px} #db-clinic-audit h2,#db-clinic-audit h3{color:var(--navy);margin:0 0 8px;line-height:1.35} #db-clinic-audit h2{font-size:28px} #db-clinic-audit h3{font-size:19px} #db-clinic-audit p{color:var(--muted);line-height:1.65;margin:0} #db-clinic-audit .ca-intro{margin-bottom:22px} #db-clinic-audit .ca-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px} #db-clinic-audit .ca-field{margin-bottom:16px} #db-clinic-audit label.ca-label{display:block;font-weight:700;font-size:13px;margin-bottom:8px;color:#344054} #db-clinic-audit input[type=text],#db-clinic-audit input[type=url],#db-clinic-audit input[type=email]{width:100%;min-width:0;border:1px solid #d5dce7;border-radius:9px;padding:12px;font:inherit;color:var(--ink);background:#fff} #db-clinic-audit input:focus-visible{outline:2px solid var(--blue);outline-offset:2px} #db-clinic-audit .ca-section-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:17px} #db-clinic-audit .ca-icon{display:flex;align-items:center;justify-content:center;flex:0 0 42px;height:42px;border-radius:11px;background:#eaf2ff;color:var(--blue);font-weight:800;font-size:17px} #db-clinic-audit .ca-section-head p{font-size:13px} #db-clinic-audit .ca-checks{display:grid;gap:10px} #db-clinic-audit .ca-check{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--line);padding:13px;border-radius:10px;cursor:pointer;background:#fff;line-height:1.5} #db-clinic-audit .ca-check:hover{background:#f8faff;border-color:#b9d0f5} #db-clinic-audit .ca-check input{margin:3px 0 0;flex:0 0 17px;width:17px;height:17px;accent-color:var(--blue)} #db-clinic-audit .ca-check span{flex:1} #db-clinic-audit .ca-check strong{display:block;font-size:14px;font-weight:650} #db-clinic-audit .ca-check small{display:block;color:var(--muted);font-size:12px;margin-top:3px} #db-clinic-audit .ca-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px} #db-clinic-audit button,#db-clinic-audit .ca-cta{border:1px solid transparent;border-radius:9px;padding:12px 17px;font:inherit;font-size:14px;font-weight:750;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center} #db-clinic-audit .ca-primary{background:var(--blue);color:#fff} #db-clinic-audit .ca-primary:hover{background:#1056bd} #db-clinic-audit .ca-secondary{background:#fff;color:var(--navy);border-color:#d5dce7} #db-clinic-audit .ca-secondary:hover{background:var(--soft)} #db-clinic-audit button:focus-visible,#db-clinic-audit a:focus-visible{outline:3px solid #8ab8ff;outline-offset:2px} #db-clinic-audit .ca-hint{font-size:12px;margin-top:10px} #db-clinic-audit .ca-result-top{display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:center} #db-clinic-audit .ca-score{width:170px;height:170px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(var(--blue) var(--score-angle,0deg),#e8edf5 0deg);position:relative;margin:auto} #db-clinic-audit .ca-score:before{content:"";position:absolute;inset:11px;border-radius:50%;background:#fff} #db-clinic-audit .ca-score>*{position:relative} #db-clinic-audit .ca-score strong{font-size:42px;color:var(--navy);line-height:1.1} #db-clinic-audit .ca-score span{font-size:12px;color:var(--muted);margin-top:5px} #db-clinic-audit .ca-status{display:inline-block;padding:6px 10px;border-radius:7px;background:#eaf2ff;color:#174ea6;font-size:12px;font-weight:800;margin-bottom:10px} #db-clinic-audit .ca-bars{display:grid;gap:15px;margin-top:20px} #db-clinic-audit .ca-bar-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:7px} #db-clinic-audit .ca-bar-track{height:9px;border-radius:20px;background:#e9eef6;overflow:hidden} #db-clinic-audit .ca-bar-fill{height:100%;width:0;background:var(--blue);border-radius:20px;transition:width .3s} #db-clinic-audit .ca-findings{display:grid;gap:10px} #db-clinic-audit .ca-finding{padding:14px;border:1px solid var(--line);border-radius:10px} #db-clinic-audit .ca-finding strong{display:block;color:var(--navy);margin-bottom:5px;font-size:14px} #db-clinic-audit .ca-finding p{font-size:13px} #db-clinic-audit .ca-finding .ca-tag{font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:800;color:#b45309;margin-bottom:5px} #db-clinic-audit .ca-finding.ca-good .ca-tag{color:#137547} #db-clinic-audit .ca-empty{padding:16px;border:1px dashed #d5dce7;border-radius:10px;color:var(--muted);font-size:14px} #db-clinic-audit .ca-cta-wrap{background:var(--soft);border-radius:12px;padding:20px;margin-top:20px} #db-clinic-audit [hidden]{display:none!important} @media(max-width:650px){#db-clinic-audit .ca-card{padding:17px}#db-clinic-audit h2{font-size:23px}#db-clinic-audit .ca-grid{grid-template-columns:1fr;gap:0}#db-clinic-audit .ca-result-top{grid-template-columns:1fr;gap:20px}#db-clinic-audit .ca-score{width:150px;height:150px}#db-clinic-audit .ca-score strong{font-size:36px}#db-clinic-audit .ca-actions button,#db-clinic-audit .ca-actions .ca-cta{flex:1 1 100%}}
Free Healthcare Growth Tool

Clinic Online Presence Audit

Discover how your clinic presents itself online. Complete this quick checklist to receive a score, identify gaps, and get a practical action plan to strengthen your digital presence.

About your clinic

These details are optional and help personalize your report.

No patient names, medical records, or other patient-identifying information are needed.

01

Google Business Profile

Local discovery and clinic information

02

Clinic Website

Trust, information, and appointment access

03

Online Reputation

Patient feedback and public trust

04

Social Media Presence

Patient education and clinic visibility

05

Patient Enquiries

Helping prospective patients take the next step

Generate your audit report

Each checklist item is worth five points. Checked items count as in place; unchecked items become recommendations. Review every item before generating your report.

(function(){ const root=document.getElementById('db-clinic-audit'); if(!root || root.dataset.ready==='1') return; root.dataset.ready='1'; const $=id=>root.querySelector('#'+id); const form=$('ca-form'); const boxes=Array.from(root.querySelectorAll('input[type="checkbox"][data-cat]')); const categories=[ 'Google Business Profile','Clinic Website','Online Reputation', 'Social Media','Patient Enquiries' ]; let latestReport=null;function esc(s){ return String(s).replace(/[&"']/g,c=>({'&':'&','':'>','"':'"',"'":'''}[c])); } function getClinic(){ return { name:$('ca-name').value.trim(), city:$('ca-city').value.trim(), website:$('ca-website').value.trim(), specialty:$('ca-specialty').value.trim() }; } function buildReport(){ const total=boxes.length; const checked=boxes.filter(b=>b.checked); const score=Math.round(checked.length/total*100); const groups=categories.map(cat=>{ const items=boxes.filter(b=>b.dataset.cat===cat); const passed=items.filter(b=>b.checked).length; return {name:cat,total:items.length,passed,score:Math.round(passed/items.length*100)}; }); const gaps=boxes.filter(b=>!b.checked).map(b=>({ category:b.dataset.cat,title:b.dataset.title,fix:b.dataset.fix })); return {clinic:getClinic(),total,checked:checked.length,score,groups,gaps}; } function scoreText(score){ if(score>=85) return { badge:'Strong checklist result', heading:'Your foundations look strong', description:'Your answers indicate that many core online presence practices are in place. Review the remaining gaps and keep your information current.' }; if(score>=60) return { badge:'Room to improve', heading:'Several foundations are in place', description:'Your answers indicate a reasonable starting point, with some opportunities to improve how patients discover and contact your clinic.' }; if(score>=35) return { badge:'Improvement recommended', heading:'Important gaps need attention', description:'Your answers indicate that several digital presence basics may need attention. Prioritize accurate clinic information and an easy enquiry journey.' }; return { badge:'Start with the basics', heading:'Build your online foundations', description:'Your answers indicate that many checklist items may not yet be in place. Start with the essential clinic information, website access, and contact options.' }; } function render(){ const r=buildReport(); latestReport=r; $('results').hidden=false; $('result-title').textContent=(r.clinic.name ? r.clinic.name+' | ' : '')+'Clinic Online Presence Audit'; const details=[r.clinic.specialty,r.clinic.city].filter(Boolean).join(' · '); $('result-subtitle').textContent=details ? details+' | Checklist results' : 'Your checklist results'; $('score').textContent=r.score; $('score-ring').style.setProperty('--score-angle',(r.score*3.6)+'deg'); const level=scoreText(r.score); $('status-badge').textContent=level.badge; $('score-heading').textContent=level.heading; $('score-description').textContent=level.description; $('score-detail').textContent=r.checked+' of '+r.total+' checklist items marked as in place. '+r.gaps.length+' item(s) need review.'; $('category-bars').innerHTML=r.groups.map(g=> '
'+esc(g.name)+''+g.passed+'/'+g.total+' · '+g.score+'%
' ).join(''); const findings=$('findings'); if(!r.gaps.length){ findings.innerHTML='
Excellent checklist completion. Review your profiles periodically and verify that the information remains accurate.
'; }else{ findings.innerHTML=r.gaps.map((g,i)=> '
Priority '+(i<3?'1':'2')+' · '+esc(g.category)+'
'+esc(g.title)+'

'+esc(g.fix)+'

' ).join(''); } const params=new URLSearchParams(); if(r.clinic.name) params.set('clinic',r.clinic.name); if(r.clinic.city) params.set('city',r.clinic.city); if(r.clinic.specialty) params.set('specialty',r.clinic.specialty); params.set('audit_score',String(r.score)); $('contact').href='https://designblast.org/contact/?'+params.toString(); $('status').textContent='Audit generated. Review your results below.'; $('results').scrollIntoView({behavior:'smooth',block:'start'}); } function summary(){ if(!latestReport) return ''; const r=latestReport; return [ 'CLINIC ONLINE PRESENCE AUDIT', 'Clinic: '+(r.clinic.name||'Not provided'), 'City: '+(r.clinic.city||'Not provided'), 'Specialty: '+(r.clinic.specialty||'Not provided'), 'Website: '+(r.clinic.website||'Not provided'), 'Score: '+r.score+'/100', 'Checklist completed: '+r.checked+'/'+r.total, '', 'CATEGORY SCORES', ...r.groups.map(g=>g.name+': '+g.score+'% ('+g.passed+'/'+g.total+')'), '', 'RECOMMENDED ACTIONS', ...(r.gaps.length?r.gaps.map((g,i)=>(i+1)+'. '+g.category+' - '+g.title+': '+g.fix):['All checklist items marked in place. Review them periodically.']), '', 'Note: Self-assessment based on visitor responses; not an automated website or Google profile inspection.' ].join('\n'); } async function copyReport(){ const value=summary(); try{ if(navigator.clipboard && navigator.clipboard.writeText){ await navigator.clipboard.writeText(value); }else{ const temp=document.createElement('textarea'); temp.value=value;temp.style.position='fixed';temp.style.opacity='0'; root.appendChild(temp);temp.select(); const ok=document.execCommand('copy');temp.remove(); if(!ok) throw new Error('Copy unavailable'); } $('status').textContent='Audit summary copied.'; }catch(e){ $('status').textContent='Copy was blocked by your browser. Try downloading the report.'; } } function downloadReport(){ if(!latestReport) return; const blob=new Blob(['\uFEFF'+summary()],{type:'text/plain;charset=utf-8'}); const url=URL.createObjectURL(blob); const a=document.createElement('a'); a.href=url;a.download='clinic-online-presence-audit.txt'; document.body.appendChild(a);a.click();a.remove(); setTimeout(()=>URL.revokeObjectURL(url),1000); } form.addEventListener('submit',function(e){ e.preventDefault(); render(); }); $('reset').addEventListener('click',function(){ boxes.forEach(b=>b.checked=false); $('results').hidden=true; $('status').textContent='Checklist reset. Your clinic details have been kept.'; }); $('copy').addEventListener('click',copyReport); $('download').addEventListener('click',downloadReport); })();