{"id":1270,"date":"2026-10-01T17:18:37","date_gmt":"2026-10-01T15:18:37","guid":{"rendered":"https:\/\/calebadventministry.nl\/?page_id=1270"},"modified":"2026-10-01T17:20:28","modified_gmt":"2026-10-01T15:20:28","slug":"koerswijzer-groeimonitor","status":"publish","type":"page","link":"https:\/\/calebadventministry.nl\/?page_id=1270","title":{"rendered":"KoersWijzer GroeiMonitor"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1270\" class=\"elementor elementor-1270\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bed3cb0 e-flex e-con-boxed e-con e-parent\" data-id=\"bed3cb0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c74cd0d elementor-widget elementor-widget-html\" data-id=\"c74cd0d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n#cam-koers{--p:#1f7a6d;--pd:#155b52;--pl:#eaf5f2;--text:#263238;--muted:#5f6b70;--line:#d7e1df;--green:#2f7d61;--yellow:#8f7414;--orange:#b25d17;--red:#963638;--warn:#fff8e8;--danger:#fff1f1;max-width:980px;margin:auto;color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.65}\n#cam-koers *{box-sizing:border-box}#cam-koers .hero{padding:31px;margin-bottom:24px;color:#fff;background:linear-gradient(135deg,var(--p),var(--pd));border-radius:16px}#cam-koers .hero h2{margin:0 0 7px;color:#fff;font-size:32px}#cam-koers .hero .brand{font-size:14px;letter-spacing:.08em;text-transform:uppercase;opacity:.85}#cam-koers .hero p{margin:10px 0 0}#cam-koers .note{padding:17px;margin-top:18px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:9px}#cam-koers .note strong{display:block;margin-bottom:5px}\n#cam-koers .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}#cam-koers .card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:12px}#cam-koers .card h3,#cam-koers .section h3,#cam-koers .result-section h3{margin:0 0 10px;color:var(--pd);font-size:21px}#cam-koers ul{margin:8px 0 0;padding-left:22px}#cam-koers li{margin-bottom:7px}\n#cam-koers .section{padding:22px;margin-bottom:24px;background:#fff;border:1px solid var(--line);border-radius:12px}#cam-koers .soft{background:#f3f6f5;border-left:5px solid #778783}#cam-koers .privacy{background:var(--warn);border-color:#e2d19f}#cam-koers .fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#cam-koers .field.full{grid-column:1\/-1}#cam-koers label.field-label{display:block;margin-bottom:6px;font-weight:700}#cam-koers input[type=text],#cam-koers input[type=date],#cam-koers select,#cam-koers textarea{width:100%;padding:12px 13px;color:var(--text);background:#fff;border:1px solid #b9c7c4;border-radius:8px;font:inherit}#cam-koers textarea{min-height:100px;resize:vertical}#cam-koers .hint{margin:5px 0 0;color:var(--muted);font-size:13px}\n#cam-koers .scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:15px 0}#cam-koers .scale div{padding:10px 6px;text-align:center;background:#fff;border:1px solid #bdd8d1;border-radius:8px}#cam-koers .scale strong{display:block;color:var(--pd);font-size:22px}#cam-koers .scale span{font-size:12px;color:#465b56}\n#cam-koers .progress{margin-bottom:23px}#cam-koers .progress-meta{display:flex;justify-content:space-between;margin-bottom:7px;color:var(--muted);font-size:14px}#cam-koers .track{height:10px;background:#e4ecea;border-radius:999px;overflow:hidden}#cam-koers .bar{width:0;height:100%;background:var(--p);transition:width .2s}\n#cam-koers .domain-head{display:flex;gap:12px;padding:15px 18px;margin:28px 0 14px;color:var(--pd);background:var(--pl);border-left:5px solid var(--p);border-radius:9px}#cam-koers .ico{font-size:23px}#cam-koers .domain-head h3{margin:0 0 3px;font-size:20px}#cam-koers .domain-head p{margin:0;font-size:14px}\n#cam-koers fieldset{min-width:0;padding:21px;margin:0 0 18px;background:#fff;border:1px solid var(--line);border-radius:12px}#cam-koers legend{width:100%;padding:0 0 13px;font-size:18px;font-weight:700;line-height:1.45}#cam-koers .options{display:grid;grid-template-columns:repeat(5,minmax(50px,1fr));gap:8px}#cam-koers .option{position:relative;cursor:pointer}#cam-koers .option input{position:absolute;opacity:0}#cam-koers .option span{display:flex;align-items:center;justify-content:center;min-height:49px;background:#f7f9f9;border:1px solid #bac8c5;border-radius:8px;font-weight:700}#cam-koers .option input:checked+span{color:#fff;background:var(--p);border-color:var(--p)}\n#cam-koers .btn{width:100%;min-height:55px;padding:13px 20px;border-radius:9px;font-size:17px;font-weight:700;cursor:pointer}#cam-koers .primary{color:#fff;background:var(--p);border:0}#cam-koers .secondary{margin-top:10px;color:var(--pd);background:#fff;border:1px solid var(--p)}#cam-koers .dark{margin-top:10px;color:#fff;background:#394a46;border:0}#cam-koers .danger-btn{margin-top:10px;color:#842f2f;background:#fff;border:1px solid #c48383}#cam-koers .message{display:none;padding:14px 16px;margin-top:15px;color:#7a2424;background:var(--danger);border:1px solid #e5b8b8;border-radius:8px;font-weight:700}\n#cam-koers .result{display:none;margin-top:28px;scroll-margin-top:25px}#cam-koers .result-head{padding:27px;color:#fff;border-radius:14px 14px 0 0}#cam-koers .result-head h2{margin:0;color:#fff;font-size:28px}#cam-koers .summary-row{display:flex;flex-wrap:wrap;gap:13px;margin-top:17px}#cam-koers .metric{padding:10px 15px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:9px}#cam-koers .metric strong{display:block;font-size:25px}#cam-koers .result-body{padding:27px;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px}#cam-koers .result-section{margin-bottom:28px}\n#cam-koers .profiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}#cam-koers .profile{padding:16px;background:#f7f9f9;border:1px solid var(--line);border-radius:10px}#cam-koers .profile-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}#cam-koers .profile-title strong{color:var(--pd)}#cam-koers .profile-track{height:11px;background:#dce5e3;border-radius:999px;overflow:hidden}#cam-koers .profile-fill{height:100%;border-radius:999px}#cam-koers .profile p{margin:8px 0 0;color:var(--muted);font-size:14px}\n#cam-koers .history-chart{width:100%;min-height:280px;padding:14px;background:#fbfcfc;border:1px solid var(--line);border-radius:10px;overflow:auto}#cam-koers svg{display:block;min-width:640px;width:100%;height:250px}#cam-koers .history-list{display:grid;gap:9px;margin-top:15px}#cam-koers .history-item{display:grid;grid-template-columns:110px 1fr 100px;gap:10px;align-items:center;padding:10px 12px;background:#f7f9f9;border-radius:8px}#cam-koers .tag{display:inline-block;padding:3px 8px;border-radius:999px;color:#fff;font-size:12px;font-weight:700}\n#cam-koers .action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}#cam-koers .action{padding:17px;background:var(--pl);border:1px solid #c9e3dc;border-radius:10px}#cam-koers .action h4{margin:0 0 7px;color:var(--pd)}#cam-koers .alert{padding:19px;background:var(--danger);border-left:5px solid var(--red);border-radius:9px}#cam-koers .context-box{padding:19px;background:var(--warn);border:1px solid #e2d19f;border-radius:9px}#cam-koers .disclaimer{padding:17px;background:#f3f6f5;border-left:4px solid #778783;border-radius:8px;font-size:14px}\n@media(max-width:760px){#cam-koers .grid2,#cam-koers .fields,#cam-koers .profiles,#cam-koers .action-grid{grid-template-columns:1fr}#cam-koers .field.full{grid-column:auto}#cam-koers .scale{grid-template-columns:repeat(2,1fr)}#cam-koers .hero{padding:23px 18px}#cam-koers .hero h2{font-size:25px}#cam-koers fieldset{padding:17px 13px}#cam-koers .options{gap:5px}#cam-koers .result-head,#cam-koers .result-body{padding:20px 17px}#cam-koers .history-item{grid-template-columns:1fr}}\n@media(max-width:410px){#cam-koers .scale{grid-template-columns:1fr}}\n@media print{body *{visibility:hidden!important}#cam-koers #koers-result,#cam-koers #koers-result *{visibility:visible!important}#cam-koers #koers-result{display:block!important;position:absolute;left:0;top:0;width:100%}#cam-koers .result-head{background:#fff!important;color:#000!important;border:2px solid #333}#cam-koers .result-head h2{color:#000!important}#cam-koers .result-body{border:0;padding:14px 0}#cam-koers .btn,#cam-koers .no-print{display:none!important}#cam-koers .profile,#cam-koers .action,#cam-koers .context-box,#cam-koers .disclaimer{break-inside:avoid;background:#fff!important}#cam-koers .profile-fill,#cam-koers .tag{print-color-adjust:exact;-webkit-print-color-adjust:exact}@page{margin:14mm}}\n<\/style>\n<div id=\"cam-koers\"><form id=\"koers-form\" novalidate>\n<section class=\"hero\"><div class=\"brand\">Caleb Advent Ministry<\/div><h2>\ud83e\udded KoersWijzer GroeiMonitor<\/h2><p>Een terugkerend meetinstrument voor cli\u00ebnten die werken aan doelen, oefeningen, gedragsverandering en persoonlijke groei.<\/p><p>De monitor helpt onderscheid maken tussen echte beweging, tijdelijke vertraging, vermijding en rondgaan in bekende patronen.<\/p><div class=\"note\"><strong>Geen oordeel, maar koersinformatie<\/strong>Een lage score betekent niet dat iemand mislukt. De uitkomst helpt bepalen wat werkt, wat belemmert en welke volgende stap passend is.<\/div><\/section>\n<div class=\"grid2\"><section class=\"card\"><h3>\ud83d\udccd Wat wordt gemeten?<\/h3><ul><li>Doelhelderheid en richting<\/li><li>Actie en opdrachtuitvoering<\/li><li>Zelfreflectie en patroonherkenning<\/li><li>Toepassing in het dagelijks leven<\/li><li>Omgaan met belemmeringen<\/li><li>Motivatie en herstelvermogen<\/li><\/ul><\/section><section class=\"card\"><h3>\ud83d\udcc8 Wat maakt deze monitor uniek?<\/h3><ul><li>Herhaalbare meetmomenten<\/li><li>Persoonlijke Groei-index van 0 tot 100<\/li><li>Vergelijking met het vorige meetmoment<\/li><li>Voortgangsgrafiek in de browser<\/li><li>Persoonlijke focus en actieplan<\/li><li>Export, import en printbare rapportage<\/li><\/ul><\/section><\/div>\n<section class=\"section soft\"><h3>\u2696\ufe0f Professionele begrenzing<\/h3><p>De KoersWijzer GroeiMonitor is een eigen, evidence-informed evaluatie-instrument van Caleb Advent Ministry. Het combineert principes van doelmonitoring, doelrealisatie, zelfregistratie, reflectie en actieplanning, maar is geen gevalideerde psychometrische test of diagnostisch instrument.<\/p><\/section>\n<section class=\"section privacy\"><h3>\ud83d\udd10 Privacy en meetgeschiedenis<\/h3><p>Meetmomenten worden uitsluitend lokaal in deze browser opgeslagen. De gegevens worden niet automatisch naar Caleb Advent Ministry of een server verzonden. Gebruik bij voorkeur een cli\u00ebntcode en geen volledige naam. Wis de geschiedenis op een gedeeld apparaat of exporteer de gegevens en verwijder ze daarna.<\/p><\/section>\n<section class=\"section\"><h3>\ud83d\uddd3\ufe0f Gegevens van dit meetmoment<\/h3><div class=\"fields\"><div class=\"field\"><label class=\"field-label\" for=\"client-code\">Cli\u00ebntcode of persoonlijke code<\/label><input id=\"client-code\" type=\"text\" maxlength=\"40\" placeholder=\"Bijvoorbeeld CAM-104\"><p class=\"hint\">Dezelfde code is nodig om eerdere meetmomenten terug te zien.<\/p><\/div><div class=\"field\"><label class=\"field-label\" for=\"measure-date\">Datum meetmoment<\/label><input id=\"measure-date\" type=\"date\"><\/div><div class=\"field\"><label class=\"field-label\" for=\"measure-type\">Type meetmoment<\/label><select id=\"measure-type\"><option value=\"Startmeting\">Startmeting<\/option><option value=\"Tussenevaluatie\">Tussenevaluatie<\/option><option value=\"Eindevaluatie\">Eindevaluatie<\/option><option value=\"Nazorgmeting\">Nazorgmeting<\/option><option value=\"Zelfgekozen check-in\">Zelfgekozen check-in<\/option><\/select><\/div><div class=\"field\"><label class=\"field-label\" for=\"review-period\">Periode waarop u terugkijkt<\/label><select id=\"review-period\"><option value=\"Afgelopen week\">Afgelopen week<\/option><option value=\"Afgelopen twee weken\">Afgelopen twee weken<\/option><option value=\"Afgelopen vier weken\" selected>Afgelopen vier weken<\/option><option value=\"Sinds het vorige gesprek\">Sinds het vorige gesprek<\/option><option value=\"Andere periode\">Andere periode<\/option><\/select><\/div><div class=\"field full\"><label class=\"field-label\" for=\"main-goal\">Mijn belangrijkste doel voor deze periode<\/label><textarea id=\"main-goal\" placeholder=\"Formuleer zo concreet mogelijk welk gedrag, resultaat of herstel u wilt bereiken.\"><\/textarea><\/div><\/div><\/section>\n<section class=\"section\"><h3>\ud83d\udcdd Antwoordschaal<\/h3><p>Beoordeel iedere uitspraak op basis van de gekozen evaluatieperiode.<\/p><div class=\"scale\"><div><strong>0<\/strong><span>Helemaal niet<\/span><\/div><div><strong>1<\/strong><span>In beperkte mate<\/span><\/div><div><strong>2<\/strong><span>Gedeeltelijk<\/span><\/div><div><strong>3<\/strong><span>Grotendeels<\/span><\/div><div><strong>4<\/strong><span>Volledig<\/span><\/div><\/div><p>Een hogere score betekent meer beweging en proceskracht. Negatief geformuleerde vragen worden automatisch omgekeerd gescoord.<\/p><\/section>\n<div class=\"progress\"><div class=\"progress-meta\"><span>Voortgang vragenlijst<\/span><span id=\"koers-progress-label\">0 van 24 beantwoord<\/span><\/div><div class=\"track\"><div id=\"koers-progress-bar\" class=\"bar\"><\/div><\/div><\/div><div id=\"koers-questions\"><\/div>\n<section class=\"section\"><h3>\ud83c\udfaf Doelrealisatie en opdrachten<\/h3><div class=\"fields\"><div class=\"field\"><label class=\"field-label\" for=\"goal-percent\">Hoeveel van het belangrijkste doel is naar uw inschatting bereikt?<\/label><select id=\"goal-percent\"><option value=\"0\">0 tot 10%<\/option><option value=\"25\">Ongeveer 25%<\/option><option value=\"50\">Ongeveer 50%<\/option><option value=\"75\">Ongeveer 75%<\/option><option value=\"100\">90 tot 100%<\/option><\/select><\/div><div class=\"field\"><label class=\"field-label\" for=\"task-percent\">Hoeveel van de afgesproken opdrachten of oefeningen hebt u uitgevoerd?<\/label><select id=\"task-percent\"><option value=\"0\">Vrijwel niets<\/option><option value=\"25\">Een klein deel<\/option><option value=\"50\">Ongeveer de helft<\/option><option value=\"75\">Het grootste deel<\/option><option value=\"100\">Vrijwel alles<\/option><option value=\"-1\">Niet van toepassing<\/option><\/select><\/div><div class=\"field full\"><label class=\"field-label\" for=\"proud\">Waar bent u sinds het vorige meetmoment het meest trots op?<\/label><textarea id=\"proud\"><\/textarea><\/div><div class=\"field full\"><label class=\"field-label\" for=\"barrier\">Wat heeft uw groei of uitvoering het meest belemmerd?<\/label><textarea id=\"barrier\"><\/textarea><\/div><div class=\"field full\"><label class=\"field-label\" for=\"next-focus\">Welke concrete stap verdient de komende periode de meeste aandacht?<\/label><textarea id=\"next-focus\"><\/textarea><\/div><div class=\"field full\"><label class=\"field-label\" for=\"if-then\">Mijn als-dan-plan<\/label><textarea id=\"if-then\" placeholder=\"Als [situatie of obstakel] optreedt, dan zal ik [concrete actie] uitvoeren.\"><\/textarea><\/div><\/div><\/section>\n<button type=\"submit\" class=\"btn primary\">Bereken mijn KoersWijzer-profiel<\/button><div id=\"koers-message\" class=\"message\" role=\"alert\"><\/div><\/form><section id=\"koers-result\" class=\"result\" aria-live=\"polite\"><\/section><\/div>\n<script>\n(function(){\nconst form=document.getElementById('koers-form'),box=document.getElementById('koers-questions'),bar=document.getElementById('koers-progress-bar'),progressLabel=document.getElementById('koers-progress-label'),message=document.getElementById('koers-message'),result=document.getElementById('koers-result');if(!form||!box||!bar||!progressLabel||!message||!result)return;\nconst $=id=>document.getElementById(id);$('measure-date').value=new Date().toISOString().slice(0,10);\nconst domains=[\n{id:'direction',icon:'\ud83c\udfaf',title:'Richting & doelhelderheid',description:'Weten wat belangrijk is en keuzes verbinden aan concrete doelen.',items:[1,2,3,4]},\n{id:'action',icon:'\u2705',title:'Actie & opdrachtuitvoering',description:'Afspraken uitvoeren, initiatief nemen en gedrag daadwerkelijk starten.',items:[5,6,7,8]},\n{id:'reflection',icon:'\ud83e\udde0',title:'Inzicht & zelfreflectie',description:'Patronen herkennen, eerlijk evalueren en leren van ervaringen.',items:[9,10,11,12]},\n{id:'application',icon:'\ud83d\udd04',title:'Toepassing & gedragsverandering',description:'Nieuwe inzichten zichtbaar vertalen naar dagelijks gedrag.',items:[13,14,15,16]},\n{id:'barriers',icon:'\ud83d\udea7',title:'Belemmeringen hanteren',description:'Vermijding, uitstel en oude patronen tijdig herkennen en bijsturen.',items:[17,18,19,20]},\n{id:'motivation',icon:'\ud83c\udf31',title:'Motivatie & herstelkracht',description:'Hoop, betrokkenheid en opnieuw beginnen na een terugval.',items:[21,22,23,24]}\n];\nconst questions=[\n{text:'Ik kan mijn belangrijkste doelen voor deze periode concreet benoemen.',positive:true},{text:'Ik weet welk gedrag laat zien dat ik dichter bij mijn doel kom.',positive:true},{text:'Mijn dagelijkse keuzes sluiten aan bij mijn belangrijkste doel.',positive:true},{text:'Ik raak gemakkelijk bezig met bijzaken terwijl mijn kerndoel blijft liggen.',positive:false},\n{text:'Ik heb de afgesproken opdrachten of oefeningen daadwerkelijk uitgevoerd.',positive:true},{text:'Ik zet ook kleine stappen wanneer mijn motivatie tijdelijk lager is.',positive:true},{text:'Ik neem actief verantwoordelijkheid voor mijn aandeel in het proces.',positive:true},{text:'Ik wacht vooral af totdat omstandigheden of andere mensen veranderen.',positive:false},\n{text:'Ik begrijp beter welke patronen mijn ontwikkeling ondersteunen of belemmeren.',positive:true},{text:'Ik herken eerder wanneer ik terugval in oud gedrag.',positive:true},{text:'Ik neem bewust tijd om ervaringen te evalueren en lessen te formuleren.',positive:true},{text:'Ik vermijd eerlijke zelfreflectie wanneer een uitkomst ongemakkelijk is.',positive:false},\n{text:'Ik pas nieuwe inzichten toe in concrete dagelijkse situaties.',positive:true},{text:'Ik merk observeerbare veranderingen in mijn gedrag of keuzes.',positive:true},{text:'Ik oefen nieuwe vaardigheden ook buiten gesprekken of sessies.',positive:true},{text:'Mijn inzichten blijven vooral goede voornemens zonder zichtbare toepassing.',positive:false},\n{text:'Ik herken sneller wanneer angst, uitstel of perfectionisme mij stilzet.',positive:true},{text:'Wanneer een plan niet werkt, pas ik de aanpak aan in plaats van volledig te stoppen.',positive:true},{text:'Ik blijf soms cirkelen rond hetzelfde probleem zonder een nieuwe actie te kiezen.',positive:false},{text:'Ik gebruik verklaringen of excuses om een moeilijke maar belangrijke stap uit te stellen.',positive:false},\n{text:'Ik geloof dat betekenisvolle verandering mogelijk is.',positive:true},{text:'Ik zie concrete tekenen van vooruitgang sinds de vorige evaluatie.',positive:true},{text:'Ik voel voldoende betrokkenheid om de volgende stap te zetten.',positive:true},{text:'Na terugval of teleurstelling kan ik opnieuw beginnen zonder het hele proces af te schrijven.',positive:true}\n];\nfunction domainFor(n){return domains.find(d=>d.items.includes(n))}function render(){let h='';questions.forEach((q,i)=>{const n=i+1,d=domainFor(n);if(n===d.items[0])h+=`<div class=\"domain-head\"><span class=\"ico\">${d.icon}<\/span><div><h3>${d.title}<\/h3><p>${d.description}<\/p><\/div><\/div>`;h+=`<fieldset><legend>${n}. ${q.text}<\/legend><div class=\"options\">${[0,1,2,3,4].map(v=>`<label class=\"option\"><input type=\"radio\" name=\"kw_q${n}\" value=\"${v}\"><span>${v}<\/span><\/label>`).join('')}<\/div><\/fieldset>`});box.innerHTML=h}\nfunction raw(n){const a=form.querySelector(`input[name=\"kw_q${n}\"]:checked`);return a?Number(a.value):null}function strength(n){const v=raw(n);if(v===null)return null;return questions[n-1].positive?v:4-v}function progress(){let c=0;for(let i=1;i<=24;i++)if(raw(i)!==null)c++;bar.style.width=`${c\/24*100}%`;progressLabel.textContent=`${c} van 24 beantwoord`}\nfunction profile(d){const score=d.items.reduce((s,n)=>s+strength(n),0),max=16,p=Math.round(score\/max*100),status=p>=76?'Sterke proceskracht':p>=51?'Redelijk op koers':p>=26?'Kwetsbaar gebied':'Direct aandacht nodig',color=p>=76?'#2f7d61':p>=51?'#8f7414':p>=26?'#b25d17':'#963638';return{...d,score,max,p,status,color}}\nfunction status(index){if(index>=76)return{color:'#2f7d61',title:'Duidelijk op koers',text:'Uw antwoorden wijzen op consistente beweging. Doelen, acties en toepassing lijken voldoende met elkaar verbonden.'};if(index>=56)return{color:'#8f7414',title:'In beweging, maar nog kwetsbaar',text:'Er is aantoonbare voortgang, maar de uitvoering of toepassing is nog niet overal stabiel.'};if(index>=36)return{color:'#b25d17',title:'Risico op stagnatie',text:'Er zijn inzichten of intenties aanwezig, maar de vertaling naar consistent gedrag blijft achter.'};return{color:'#963638',title:'Proces lijkt vastgelopen',text:'De antwoorden wijzen op beperkte uitvoering of herhaalde patronen zonder voldoende nieuwe beweging.'}}\nfunction key(code){return 'cam_koerswijzer_'+code.trim().toLowerCase()}function loadHistory(code){try{return JSON.parse(localStorage.getItem(key(code))||'[]')}catch(e){return[]}}function saveHistory(code,item){const h=loadHistory(code);h.push(item);h.sort((a,b)=>a.date.localeCompare(b.date));localStorage.setItem(key(code),JSON.stringify(h));return h}\nfunction profileCard(p){return `<div class=\"profile\"><div class=\"profile-title\"><strong>${p.icon} ${p.title}<\/strong><span>${p.p}%<\/span><\/div><div class=\"profile-track\"><div class=\"profile-fill\" style=\"width:${p.p}%;background:${p.color}\"><\/div><\/div><p>${p.status}. ${p.description}<\/p><\/div>`}\nfunction chart(history){if(!history.length)return'<p>Nog geen meetgeschiedenis beschikbaar.<\/p>';const w=760,h=230,pad=38,step=history.length===1?0:(w-2*pad)\/(history.length-1),pts=history.map((m,i)=>`${pad+i*step},${h-pad-(m.index\/100)*(h-2*pad)}`).join(' '),circles=history.map((m,i)=>`<circle cx=\"${pad+i*step}\" cy=\"${h-pad-(m.index\/100)*(h-2*pad)}\" r=\"5\" fill=\"#1f7a6d\"><title>${m.date}: ${m.index}%<\/title><\/circle>`).join(''),labels=history.map((m,i)=>`<text x=\"${pad+i*step}\" y=\"${h-10}\" text-anchor=\"middle\" font-size=\"11\">${m.date.slice(5)}<\/text>`).join('');return `<div class=\"history-chart\"><svg viewBox=\"0 0 ${w} ${h}\" role=\"img\" aria-label=\"Voortgangsgrafiek Groei-index\"><line x1=\"${pad}\" y1=\"${pad}\" x2=\"${pad}\" y2=\"${h-pad}\" stroke=\"#aab8b4\"\/><line x1=\"${pad}\" y1=\"${h-pad}\" x2=\"${w-pad}\" y2=\"${h-pad}\" stroke=\"#aab8b4\"\/>${[0,25,50,75,100].map(v=>`<g><line x1=\"${pad}\" y1=\"${h-pad-v\/100*(h-2*pad)}\" x2=\"${w-pad}\" y2=\"${h-pad-v\/100*(h-2*pad)}\" stroke=\"#e3e9e7\"\/><text x=\"8\" y=\"${h-pad-v\/100*(h-2*pad)+4}\" font-size=\"11\">${v}%<\/text><\/g>`).join('')}<polyline points=\"${pts}\" fill=\"none\" stroke=\"#1f7a6d\" stroke-width=\"4\" stroke-linejoin=\"round\"\/>${circles}${labels}<\/svg><\/div>`}\nfunction action(p){const map={direction:'Herschrijf het hoofddoel als \u00e9\u00e9n observeerbaar gedrag met een duidelijke termijn.',action:'Plan de eerstvolgende actie in agenda, plaats en duur. Maak de start kleiner dan tien minuten.',reflection:'Gebruik na een relevante situatie drie vragen: wat gebeurde er, wat deed ik, wat leer ik?',application:'Kies \u00e9\u00e9n inzicht en definieer waar dit morgen zichtbaar wordt in gedrag.',barriers:'Maak een obstakelplan: als de bekende blokkade optreedt, dan voer ik de vooraf gekozen kleine actie uit.',motivation:'Verbind het doel opnieuw met persoonlijke waarden en benoem waarom de volgende stap ertoe doet.'};return `<div class=\"action\"><h4>${p.icon} ${p.title}<\/h4><p>${map[p.id]}<\/p><\/div>`}\nfunction deltaText(delta){if(delta===null)return'Nog geen eerdere meting';if(delta>3)return`+${delta} punten vooruit`;if(delta<-3)return`${delta} punten achteruit`;return'Vrijwel stabiel'}\nfunction resultHtml(item,history,profiles,previous){const s=status(item.index),delta=previous?item.index-previous.index:null,sorted=[...profiles].sort((a,b)=>a.p-b.p),focus=sorted[0],strengthDomain=[...profiles].sort((a,b)=>b.p-a.p)[0],notOnTrack=item.index<56||item.goal<50||item.task===0;return `<div class=\"result-head\" style=\"background:${s.color}\"><h2>${s.title}<\/h2><p>${s.text}<\/p><div class=\"summary-row\"><div class=\"metric\"><small>Groei-index<\/small><strong>${item.index}%<\/strong><\/div><div class=\"metric\"><small>Doelrealisatie<\/small><strong>${item.goal}%<\/strong><\/div><div class=\"metric\"><small>Verschil vorige meting<\/small><strong>${deltaText(delta)}<\/strong><\/div><\/div><\/div><div class=\"result-body\">${notOnTrack?`<section class=\"result-section alert\"><h3>\u26a0\ufe0f Koerssignaal: bijsturen aanbevolen<\/h3><p>De combinatie van Groei-index, doelrealisatie of opdrachtuitvoering wijst erop dat alleen doorgaan met hetzelfde plan mogelijk onvoldoende is. Bespreek wat moet worden vereenvoudigd, aangepast, ondersteund of losgelaten.<\/p><\/section>`:''}<section class=\"result-section\"><h3>\ud83d\udccb Meetmoment<\/h3><p><strong>Code:<\/strong> ${escapeHtml(item.code)}<br><strong>Datum:<\/strong> ${item.date}<br><strong>Type:<\/strong> ${escapeHtml(item.type)}<br><strong>Evaluatieperiode:<\/strong> ${escapeHtml(item.period)}<\/p><p><strong>Hoofddoel:<\/strong> ${escapeHtml(item.goalText)||'Niet ingevuld'}<\/p><\/section><section class=\"result-section\"><h3>\ud83d\udcca Zes procesprofielen<\/h3><div class=\"profiles\">${profiles.map(profileCard).join('')}<\/div><\/section><section class=\"result-section\"><h3>\ud83d\udcc8 Voortgang over meetmomenten<\/h3>${chart(history)}<div class=\"history-list\">${history.slice().reverse().map(m=>`<div class=\"history-item\"><strong>${m.date}<\/strong><span>${escapeHtml(m.type)}<\/span><span class=\"tag\" style=\"background:${status(m.index).color}\">${m.index}%<\/span><\/div>`).join('')}<\/div><\/section><section class=\"result-section\"><h3>\ud83e\udded Persoonlijke koersanalyse<\/h3><p><strong>Relatieve kracht:<\/strong> ${strengthDomain.title} (${strengthDomain.p}%).<\/p><p><strong>Grootste ontwikkelpunt:<\/strong> ${focus.title} (${focus.p}%).<\/p><p><strong>Betekenis:<\/strong> een hoge score toont proceskracht; een lage score laat zien waar ondersteuning of een andere aanpak nodig kan zijn.<\/p><\/section><section class=\"result-section\"><h3>\ud83d\udee0\ufe0f Aanbevolen acties<\/h3><div class=\"action-grid\">${sorted.slice(0,3).map(action).join('')}<\/div><\/section><section class=\"result-section context-box\"><h3>\ud83d\udcdd Eigen reflectie<\/h3><p><strong>Trots op:<\/strong> ${escapeHtml(item.proud)||'Niet ingevuld'}<\/p><p><strong>Belangrijkste belemmering:<\/strong> ${escapeHtml(item.barrier)||'Niet ingevuld'}<\/p><p><strong>Volgende focus:<\/strong> ${escapeHtml(item.next)||'Niet ingevuld'}<\/p><p><strong>Als-dan-plan:<\/strong> ${escapeHtml(item.ifthen)||'Niet ingevuld'}<\/p><\/section><section class=\"result-section\"><h3>\ud83d\udd01 Evaluatievragen voor cli\u00ebnt en begeleider<\/h3><ul><li>Welke verandering is zichtbaar in gedrag, niet alleen in inzicht?<\/li><li>Welke opdracht werkte en waarom?<\/li><li>Welke blokkade keert terug?<\/li><li>Moet het doel kleiner, concreter of relevanter worden?<\/li><li>Welke ondersteuning ontbreekt?<\/li><li>Wat is de eerstvolgende observeerbare stap?<\/li><\/ul><\/section><section class=\"result-section disclaimer\"><strong>Professionele disclaimer<\/strong><p>De KoersWijzer GroeiMonitor is geen diagnose of gevalideerde psychometrische schaal. De Groei-index is een transparante interne procesmaat op basis van zes gelijk gewogen domeinen. Gebruik de uitkomst samen met context, professioneel oordeel en het verhaal van de cli\u00ebnt.<\/p><\/section><button type=\"button\" id=\"koers-print\" class=\"btn dark no-print\">\ud83d\udda8\ufe0f Rapport afdrukken of opslaan als PDF<\/button><button type=\"button\" id=\"koers-export\" class=\"btn secondary no-print\">\u2b07\ufe0f Meetgeschiedenis exporteren<\/button><button type=\"button\" id=\"koers-import\" class=\"btn secondary no-print\">\u2b06\ufe0f Meetgeschiedenis importeren<\/button><input type=\"file\" id=\"koers-file\" accept=\"application\/json\" hidden><button type=\"button\" id=\"koers-new\" class=\"btn secondary no-print\">\u2795 Nieuw meetmoment invullen<\/button><button type=\"button\" id=\"koers-clear\" class=\"btn danger-btn no-print\">\ud83d\uddd1\ufe0f Lokale meetgeschiedenis wissen<\/button><\/div>`}\nfunction escapeHtml(v){return String(v??'').replace(\/[&<>'\"]\/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;',\"'\":'&#39;','\"':'&quot;'}[c]))}\nfunction download(code,history){const blob=new Blob([JSON.stringify({tool:'KoersWijzer GroeiMonitor',version:1,code,history},null,2)],{type:'application\/json'}),a=document.createElement('a');a.href=URL.createObjectURL(blob);a.download=`koerswijzer-${code}-${new Date().toISOString().slice(0,10)}.json`;a.click();URL.revokeObjectURL(a.href)}\nform.addEventListener('change',()=>{progress();message.style.display='none'})\nform.addEventListener('submit',e=>{e.preventDefault();const code=$('client-code').value.trim(),date=$('measure-date').value,goalText=$('main-goal').value.trim();let missing=null,total=0;for(let i=1;i<=24;i++){const v=strength(i);if(v===null&&!missing)missing=form.querySelector(`input[name=\"kw_q${i}\"]`);if(v!==null)total+=v}if(!code||!date||!goalText||missing){message.textContent=!code?'Vul eerst een cli\u00ebntcode in.':!date?'Kies een datum.':!goalText?'Beschrijf het belangrijkste doel.':'Beantwoord eerst alle 24 vragen.';message.style.display='block';(missing?missing.closest('fieldset'):form).scrollIntoView({behavior:'smooth',block:'start'});return}const profiles=domains.map(profile),index=Math.round(total\/96*100),task=Number($('task-percent').value),item={code,date,type:$('measure-type').value,period:$('review-period').value,goalText,index,goal:Number($('goal-percent').value),task,domains:Object.fromEntries(profiles.map(p=>[p.id,p.p])),proud:$('proud').value.trim(),barrier:$('barrier').value.trim(),next:$('next-focus').value.trim(),ifthen:$('if-then').value.trim(),savedAt:new Date().toISOString()};const old=loadHistory(code),same=old.findIndex(x=>x.date===date&&x.type===item.type);let history;if(same>=0){old[same]=item;old.sort((a,b)=>a.date.localeCompare(b.date));localStorage.setItem(key(code),JSON.stringify(old));history=old}else history=saveHistory(code,item);const previous=history.length>1?history[history.length-2]:null;result.innerHTML=resultHtml(item,history,profiles,previous);result.style.display='block';form.style.display='none';result.scrollIntoView({behavior:'smooth'});$('koers-print').onclick=()=>window.print();$('koers-export').onclick=()=>download(code,history);$('koers-import').onclick=()=>$('koers-file').click();$('koers-file').onchange=ev=>{const f=ev.target.files[0];if(!f)return;const r=new FileReader();r.onload=()=>{try{const d=JSON.parse(r.result);if(!d.code||!Array.isArray(d.history))throw Error();localStorage.setItem(key(d.code),JSON.stringify(d.history));alert('Meetgeschiedenis ge\u00efmporteerd. Vul dezelfde cli\u00ebntcode in en maak of bekijk een nieuw meetmoment.')}catch(_){alert('Dit bestand is geen geldige KoersWijzer-export.')}};r.readAsText(f)};$('koers-new').onclick=()=>{form.reset();$('measure-date').value=new Date().toISOString().slice(0,10);$('client-code').value=code;result.innerHTML='';result.style.display='none';form.style.display='block';progress();form.scrollIntoView({behavior:'smooth'})};$('koers-clear').onclick=()=>{if(confirm('Weet u zeker dat u alle lokaal opgeslagen meetmomenten voor deze code wilt wissen?')){localStorage.removeItem(key(code));alert('De lokale meetgeschiedenis is gewist.')}}})\nrender();progress();\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Caleb Advent Ministry \ud83e\udded KoersWijzer GroeiMonitor Een terugkerend meetinstrument voor cli\u00ebnten die werken aan doelen, oefeningen, gedragsverandering en persoonlijke groei. De monitor helpt onderscheid maken tussen echte beweging, tijdelijke vertraging, vermijding en rondgaan in bekende patronen. Geen oordeel, maar koersinformatieEen lage score betekent niet dat iemand mislukt. De uitkomst helpt bepalen wat werkt, wat belemmert [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1270","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/calebadventministry.nl\/index.php?rest_route=\/wp\/v2\/pages\/1270","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/calebadventministry.nl\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/calebadventministry.nl\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/calebadventministry.nl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/calebadventministry.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1270"}],"version-history":[{"count":4,"href":"https:\/\/calebadventministry.nl\/index.php?rest_route=\/wp\/v2\/pages\/1270\/revisions"}],"predecessor-version":[{"id":1274,"href":"https:\/\/calebadventministry.nl\/index.php?rest_route=\/wp\/v2\/pages\/1270\/revisions\/1274"}],"wp:attachment":[{"href":"https:\/\/calebadventministry.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}