Intake FR

Intkae inladen voor FR

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Для установки этого скрипта вам необходимо установить расширение, такое как Tampermonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name         Intake FR
// @namespace    http://tampermonkey.net/
// @version      1.1.5
// @description  Intkae inladen voor FR
// @match        *://*/*
// @grant        none


// ==/UserScript==

(function() {
    'use strict';
    window.addEventListener('load', function() {

    function getPatientName() {

        // Pak de derde frame (index 2) uit het frameset
        const h3 = document.querySelector('h3.patient-card__name');
        const patientName = h3.textContent;

        if (patientName) {
            console.log(patientName)
            return patientName.split(",")[0]
        }

        return null
    }


    function storeConsultDate(){
        const datumEl = document.getElementById('frm_input_indication_date_datepicker');
        if (datumEl){
            console.log("element gevonden");
            sessionStorage.setItem('consultDate', datumEl.value);

        }
    }
    
    const patientName = getPatientName();
    storeConsultDate()
    const dateConsult = sessionStorage.getItem('consultDate');


    if (patientName === null){
        console.log("kan patiëntnaam niet vinden");
    } else if (dateConsult == null) {
        console.log("kan datum niet vinden");
        
    } else {
        console.log("haal data op")


        fetch("https://whisper.anzwerz.ai/api/v2/intake_fr/", {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                'X-API-Key': 'mijn-geheime-sleutel'
            },
            body: JSON.stringify({ patient_name: patientName,
                                   date_of_consult: dateConsult
             })
        })
        .then(response => {
                if (!response.ok) {
                    throw new Error(`HTTP error! status: ${response.status}`);
                }
                return response.json(); 
        })
        .then(data => {
            console.log('Snowflake resultaat:', data);
            if (data.ok){
                //aanmelding
                const aanmelding = data.response.aanmelding_aanmelding;
                const verwijsdatum = data.response.aanmelding_verwijsgegevens_verwijsdatum;
                const verwijsdiagnose = data.response.aanmelding_verwijsgegevens_medische_verwijsdiagnose;  
                
                //anamnese
                const patientbehoeften = data.response.anamnese_patientbehoeften;
                const stoornissen = data.response.anamnese_stoornissen;
                const historie = data.response.anamnese_historie;
                const beperkingen = data.response.anamnese_beperkingen
                const functioneringsproblemenSinds = data.response.anamnese_duur_functioneringsproblemen_sinds
                const functioneringsproblemenEenheid = data.response.anamnese_duur_functioneringsproblemen_eenheid
                const beloopTotNuToe = data.response.anamnese_beloop_tot_nu_toe;
                const aangedaneZijde = data.response.anamnese_aangedane_zijde;
                const klacht = data.response.anamnese_klacht;

                //screening
                const rodeVlaggenBesproken = data.response.screening_rode_vlaggen_besproken;
                const conclusieScreening = data.response.screening_conclusie_screening;
                const naOverlegHuisarts = data.response.screening_na_overleg_huisarts;
                const inhoudBesproken = data.response.screening_inhoud_besproken;
                const adviesContactOpnemenHA = data.response.screening_advies_contact_opnemen_ha;
                const patientOnderzoeken = data.response.screening_patient_onderzoeken;

                //onderzoek
                const conclusieOnderzoek = data.response.onderzoek_conclusie_onderzoek;
                const indicatieFysiotherapie = data.response.onderzoek_indicatie_fysiotherapie;
                const chronisch = data.response.onderzoek_chronisch
                const eersteAandoening = data.response.onderzoek_eerste_aandoening;
                const verwachtHerstel = data.response.onderzoek_prognose_verwacht_herstel;
                const verwachteDuurAantal = data.response.onderzoek_prognose_verwachte_duur_binnen;
                const verwachteDuurEenheid = data.response.onderzoek_prognose_verwachte_duur_eenheid;
                const aantalBehandelingen = data.response.onderzoek_prognose_aantal_behandelingen;

                //behandelplan           
                const hoofddoel = data.response.behandelplan_hoofddoel;
                const toestemmingPatient = data.response.behandelplan_toestemming_patient;


                const checkveld = (el, input, checkboxValue=null) => {
                    if (!el) return { status: 'element niet gevonden', succes: false };

                    if (el.tagName === 'TEXTAREA'){
                        if (el.innerHTML.trim().replace(/\s+/g, '')  !== input.trim().replace(/\s+/g, '') ) return {
                            status: 'niet goed ingevuld', 
                            succes: false,
                            ingevuld: el.innerHTML.trim().replace(/\s+/g, ''),
                            opgehaald: input.trim().replace(/\s+/g, '')
                        }
                    } else if (el.tagName === 'INPUT' && el.type === 'checkbox'){
                        if (input) { 
                            if (el.checked !== (input.toLowerCase() === checkboxValue.toLowerCase())) return {
                                status: 'niet goed ingevuld', 
                                succes: false,
                                ingevuld: el.checked,
                                opgehaald: input.toLowerCase(),
                                checkbox_waarde: checkboxValue.toLowerCase()
                            }
                        }
                    } else if (el.tagName === 'INPUT' && el.type === 'date'){
                        if (el.value && el.value !== input) return {
                            status: 'niet goed ingevuld', 
                            succes: false,
                            ingevuld: el.value,
                            opgehaald: input
                        }
                    } else if (el.tagName === 'INPUT' && el.type === 'text'){
                        if (el.getAttribute('data-slider') === 'true') {
                            if (el !== input) return {
                                status: 'niet goed ingevuld', 
                                succes: false,
                                ingevuld: el,
                                opgehaald: input
                            }
                        } else {
                            if (el.value !== input) return {
                                status: 'niet goed ingevuld', 
                                succes: false,
                                ingevuld: el.value,
                                opgehaald: input
                            }
                        }
                    } else if (el.tagName === 'SELECT') {
                        if (el.value && el.value !== input) return { 
                            status: 'niet goed ingevuld', 
                            succes: false,
                            ingevuld: el.value,
                            opgehaald: input
                        };
                    } else if (el.tagName === 'INPUT' && el.type === 'radio') {

                        if (input) { 
                            if (el.checked !== (input.toLowerCase() === checkboxValue.toLowerCase())) return {
                                status: 'niet goed ingevuld', 
                                succes: false,
                                ingevuld: el.checked,
                                opgehaald: input.toLowerCase(),
                                checkbox_waarde: checkboxValue.toLowerCase()
                            }
                        }
                    }

                    return {status: 'ok', succes: true}
                    
                }

                //Aanmelding
                const aanmeldingEl = document.getElementById('frm_input_treatment_origin');
                if (aanmeldingEl && aanmeldingEl.value == '') {
                    if (aanmeldingEl && aanmelding) {
                        aanmeldingEl.value = aanmelding;
                    }

                    const verwijsdatumEl = document.getElementById('frm_input_referral_date_datepicker');
                    if (verwijsdatumEl && verwijsdatum) {
                        verwijsdatumEl.value = verwijsdatum;
                    }

                    const verwijsdiagnoseEl = document.querySelector('textarea[name="anamnesis[medical_refererence_diagnosis]"]');
                    console.log(verwijsdiagnoseEl)
                    if (verwijsdiagnoseEl && verwijsdiagnose) {
                        verwijsdiagnoseEl.value = verwijsdiagnose;
                        
                    }



    ////////////////////////////////////////////////////////////////////////////////////////////
                    
                    const rapport = {
                        aanmelding: checkveld(aanmeldingEl, data.response.aanmelding_aanmelding),
                        verwijsdatum: checkveld(verwijsdatumEl, data.response.aanmelding_verwijsgegevens_verwijsdatum),
                        verwijsdiagnose: checkveld(verwijsdiagnoseEl, data.response.aanmelding_verwijsgegevens_medische_verwijsdiagnose),
                    
                    };

                    const allesOK = Object.values(rapport).every(v => v.status === 'ok' && v.succes === true);

                    console.log(rapport)


                    // ✅ Stuur terug naar het systeem
                    fetch('https://whisper.anzwerz.ai/api/som-feedback', {
                        method: 'POST',
                        headers: {
                        'Content-Type': 'application/json',
                        'X-API-Key': 'mijn-geheime-sleutel'
                    },
                        body: JSON.stringify({
                            timestamp: new Date().toISOString(),
                            result: allesOK ? 'ok' : 'not ok',
                            details: rapport,
                            consult_type: 'intake - aanmelding',
                            patient_number: String(patientName)
                        })
                    })
                    .then(r => {
                        if (!r.ok) {
                            console.warn('Feedback verzenden mislukt:', r.status);
                        }
                    })
                    .catch(err => console.error('Fout bij terugsturen feedback:', err));

                }

    ///////////////////////////////////////////////////////////////////////////////////
                
                //Anamnese
                
                const patientbehoeftenEl = document.querySelector('textarea[name="anamnesis[patient_needs]"]');
                if (patientbehoeftenEl && patientbehoeftenEl.innerHTML == '') {

                    if (patientbehoeftenEl && patientbehoeften) {
                        patientbehoeftenEl.innerHTML = patientbehoeften;
                    }
                
                    const stoornissenEl = document.querySelector('textarea[name="anamnesis[disorders]"]');
                    if (stoornissenEl && stoornissen) {
                        stoornissenEl.innerHTML = stoornissen;
                    }

                    const historieEl = document.querySelector('textarea[name="anamnesis[history]"]');
                    if (historieEl && historie) {
                        historieEl.innerHTML = historie;
                    }

                    const beperkingenEl = document.querySelector('textarea[name="anamnesis[constraints]"]');
                    if (beperkingenEl && beperkingen) {
                        beperkingenEl.innerHTML = beperkingen;
                    }

                    const functioneringsproblemenSindsEl = document.getElementById('frm_input_anamnesis[functioning_problem_duration_value]');
                    if (functioneringsproblemenSindsEl && functioneringsproblemenSinds) {
                        functioneringsproblemenSindsEl.value = functioneringsproblemenSinds;
                    }


                    const functioneringsproblemenEenheidEl = document.getElementById('frm_input_anamnesis[functioning_problem_duration_unit]');

                    let dropdownDuurKlacht = '0';
                    if (functioneringsproblemenEenheidEl) {
                        
                        if (functioneringsproblemenEenheid) {
                            const functioneringsproblemenEenheidText = functioneringsproblemenEenheid.toLowerCase();
 
                            if (functioneringsproblemenEenheidText == 'dag') {
                                dropdownDuurKlacht = '54';
                            } else if (functioneringsproblemenEenheidText == 'dagen') {
                                dropdownDuurKlacht = '53';
                            } else if (functioneringsproblemenEenheidText == 'week') {
                                dropdownDuurKlacht = '52';
                            } else if (functioneringsproblemenEenheidText == 'weken') {
                                dropdownDuurKlacht = '51';
                            } else if (functioneringsproblemenEenheidText == 'maand') {
                               dropdownDuurKlacht = '50';
                            } else if (functioneringsproblemenEenheidText == 'maanden') {
                               dropdownDuurKlacht = '49';
                            } else if (functioneringsproblemenEenheidText == 'jaar') {
                               dropdownDuurKlacht = '48';
                            } else if (functioneringsproblemenEenheidText == 'jaren') {
                               dropdownDuurKlacht = '47';
                            }
                        }

                        functioneringsproblemenEenheidEl.value = dropdownDuurKlacht
                    }



                    const toegenomenEl = document.getElementById('form_input_anamnesis[course_so_far]_46');
                    if (toegenomenEl && beloopTotNuToe && beloopTotNuToe == 'Toegenomen') {
                        toegenomenEl.checked = true;
                    }

                    const afgenomenEl = document.getElementById('form_input_anamnesis[course_so_far]_45');
                    if (afgenomenEl && beloopTotNuToe && beloopTotNuToe == 'Afgenomen') {
                        afgenomenEl.checked = true;
                    }

                    const nietGewijzigdEl = document.getElementById('form_input_anamnesis[course_so_far]_44');
                    if (nietGewijzigdEl && beloopTotNuToe && beloopTotNuToe == 'Niet gewijzigd') {
                        nietGewijzigdEl.checked = true;
                    }

                    const wisselendEl = document.getElementById('form_input_anamnesis[course_so_far]_43');
                    if (wisselendEl && beloopTotNuToe && beloopTotNuToe == 'Wisselend') {
                        wisselendEl.checked = true;
                    }

                    const aangedaneZijdeEl = document.getElementById('frm_input_involved_side');

                    let dropdownAangedaneZijde = '0';
                    if (aangedaneZijdeEl ) {
                        console.log(aangedaneZijde)
                        if (aangedaneZijde) {
     
                            if (aangedaneZijde == 'Geen zijde') {
                                dropdownAangedaneZijde = 'no_side';
                            } else if (aangedaneZijde == 'Linker zijde') {
                                dropdownAangedaneZijde = 'left_side';
                            } else if (aangedaneZijde == 'Rechter zijde') {
                                dropdownAangedaneZijde = 'right_side';
                            } else if (aangedaneZijde == 'Beide zijdes') {
                                dropdownAangedaneZijde = 'both_sides';
                            }
                          
                        }
                        aangedaneZijdeEl.value = dropdownAangedaneZijde
                    }


                    const klachtEl = document.getElementById('frm_input_complaint');

                    let dropdownKlacht = '0';
                    if (klachtEl ) {
                        
                        if (klacht) {
     
                            if (klacht == 'Chronisch ZorgNet - COPD') {
                                dropdownKlacht = '22';
                            } else if (klacht == 'Chronisch ZorgNet - Hart') {
                                dropdownKlacht = '23';
                            } else if (klacht == 'Chronisch ZorgNet - Osteoporose, vallen en breken') {
                                dropdownKlacht = '21';
                            } else if (klacht == 'Chronisch ZorgNet - Perifeer Arterieel Vaatlijden') {
                                dropdownKlacht = '20';
                            } else if (klacht == 'COPD') {
                                dropdownKlacht = '16';
                            } else if (klacht == 'Covid-19') {
                                dropdownKlacht = '17';
                            } else if (klacht == 'CWK') {
                                dropdownKlacht = '1';
                            } else if (klacht == 'Duizeligheid') {
                                dropdownKlacht = '24';
                            } else if (klacht == 'Elleboog') {
                                dropdownKlacht = '2';
                            } else if (klacht == 'Enkel/Voet') {
                                dropdownKlacht = '3';
                            } else if (klacht == 'Heup') {
                                dropdownKlacht = '4';
                            } else if (klacht == 'Kaak') {
                                dropdownKlacht = '5';
                            } else if (klacht == 'Knie') {
                                dropdownKlacht = '6';
                            } else if (klacht == 'LWK') {
                                dropdownKlacht = '7';
                            } else if (klacht == 'Neurologie') {
                                dropdownKlacht = '8';
                            } else if (klacht == 'Oedeem') {
                                dropdownKlacht = '19';
                            } else if (klacht == 'Oncologie') {
                                dropdownKlacht = '9';
                            } else if (klacht == 'Parkinson') {
                                dropdownKlacht = '10';
                            } else if (klacht == 'Pols/Hand') {
                                dropdownKlacht = '11';
                            } else if (klacht == 'Psychosomatiek') {
                                dropdownKlacht = '12';
                            } else if (klacht == 'Reumatologie') {
                                dropdownKlacht = '13';
                            } else if (klacht == 'Schouder') {
                                dropdownKlacht = '14';
                            } else if (klacht == 'Spierletsel') {
                                dropdownKlacht = '18';
                            } else if (klacht == 'TWK') {
                                dropdownKlacht = '15';

                            }
                          
                        }
                        klachtEl.value = dropdownKlacht
                    }


    ////////////////////////////////////////////////////////////////////////////////////////////
                    
                    const rapport = {
                        patientbehoeften: checkveld(patientbehoeftenEl, data.response.anamnese_patientbehoeften),
                        stoornissen: checkveld(stoornissenEl,data.response.anamnese_stoornissen),
                        historie: checkveld(historieEl, data.response.anamnese_historie),
                        beperkingen: checkveld(beperkingenEl, data.response.anamnese_beperkingen),
                        functioneringsproblemen_sinds: checkveld(functioneringsproblemenSindsEl, data.response.anamnese_duur_functioneringsproblemen_sinds),
                        functioneringsproblemen_eenheid: checkveld(functioneringsproblemenEenheidEl, dropdownDuurKlacht),
                        beloop_toegenomen: checkveld(toegenomenEl, data.response.anamnese_beloop_tot_nu_toe, "Toegenomen"),
                        beloop_afgenomen: checkveld(afgenomenEl, data.response.anamnese_beloop_tot_nu_toe, "Afgenomen"),
                        beloop_niet_gewijzigd: checkveld(nietGewijzigdEl, data.response.anamnese_beloop_tot_nu_toe, "Niet gewijzigd"),
                        beloop_wisselend: checkveld(wisselendEl, data.response.anamnese_beloop_tot_nu_toe, "Wisselend"),   
                        aangedane_zijde: checkveld(aangedaneZijdeEl, dropdownAangedaneZijde),         
                        klacht: checkveld(klachtEl, dropdownKlacht), 
                    };

                    const allesOK = Object.values(rapport).every(v => v.status === 'ok' && v.succes === true);

                    console.log(rapport)

                    // ✅ Stuur terug naar het systeem
                    fetch('https://whisper.anzwerz.ai/api/som-feedback', {
                        method: 'POST',
                        headers: {
                        'Content-Type': 'application/json',
                        'X-API-Key': 'mijn-geheime-sleutel'
                    },
                        body: JSON.stringify({
                            timestamp: new Date().toISOString(),
                            result: allesOK ? 'ok' : 'not ok',
                            details: rapport,
                            consult_type: 'intake - anamnese',
                            patient_number: String(patientName)
                        })
                    })
                    .then(r => {
                        if (!r.ok) {
                            console.warn('Feedback verzenden mislukt:', r.status);
                        }
                    })
                    .catch(err => console.error('Fout bij terugsturen feedback:', err));
                }

    ///////////////////////////////////////////////////////////////////////////////////
                        
                //Screening
                const patientOnderzoekenJaEl = document.getElementById('patient_screening_ja');
                const patientOnderzoekenNeeEl = document.getElementById('patient_screening_nee');
                if (patientOnderzoekenJaEl && !patientOnderzoekenJaEl.checked && patientOnderzoekenNeeEl && !patientOnderzoekenNeeEl.checked) {

                    if (patientOnderzoeken.toLowerCase() == 'ja') {
                        console.log("patiënt onderzoeken")
                        patientOnderzoekenJaEl.checked = true
                    }

                    if (patientOnderzoeken.toLowerCase() == 'nee') {
                        patientOnderzoekenNeeEl.checked = true
                    }
                

                    const rodeVlaggenBesprokenEl = document.getElementById('frm_input_anamnesis[screening][red_flags_discussed]');
                    if (rodeVlaggenBesprokenEl && rodeVlaggenBesproken && rodeVlaggenBesproken.toLowerCase() === 'ja') {
                        rodeVlaggenBesprokenEl.checked = true;
                    }

                    const conclusieScreening1El = document.getElementById('form_input_anamnesis[screening][conclusion_of_screening]_26');
                    if (conclusieScreening1El && conclusieScreening && conclusieScreening == 'De symptomen passen in een herkenbaar profiel') {
                        conclusieScreening1El.checked = true;
                    }

                    const conclusieScreening2El = document.getElementById('form_input_anamnesis[screening][conclusion_of_screening]_25');
                    if (conclusieScreening2El && conclusieScreening && conclusieScreening == 'De symptomen passen in een herkenbaar profiel, maar er is sprake van mogelijk ernstige pathologie') {
                        conclusieScreening2El.checked = true;
                    }

                    const conclusieScreening3El = document.getElementById('form_input_anamnesis[screening][conclusion_of_screening]_24');
                    if (conclusieScreening3El && conclusieScreening && conclusieScreening == 'De symptomen passen in een herkenbaar profiel, maar kunnen beter door een andere hulpverlener behandeld worden') {
                        conclusieScreening3El.checked = true;
                    }

                    const conclusieScreening4El = document.getElementById('form_input_anamnesis[screening][conclusion_of_screening]_23');
                    if (conclusieScreening4El && conclusieScreening && conclusieScreening == 'De symptomen passen in een niet herkenbaar profiel') {
                        conclusieScreening4El.checked = true;
                    }

                    const naOverlegHuisartsEl = document.getElementById('frm_input_anamnesis[screening][decided_to_do_more_examination_after_consulting_general_practitioner]');
                    if (naOverlegHuisartsEl && naOverlegHuisarts && naOverlegHuisarts.toLowerCase() === 'ja') {
                        naOverlegHuisartsEl.checked = true;
                    }

                    const inhoudBesprokenEl = document.getElementById('frm_input_anamnesis[screening][content_of_screening_form_is_discussed_with_patient]');
                    if (inhoudBesprokenEl && inhoudBesproken && inhoudBesproken.toLowerCase() === 'ja') {
                        inhoudBesprokenEl.checked = true;
                    }

                    const adviesContactOpnemenHAEl = document.getElementById('frm_input_anamnesis[screening][patient_is_advised_to_contact_general_practitioner]');
                    if (adviesContactOpnemenHAEl && adviesContactOpnemenHA && adviesContactOpnemenHA.toLowerCase() === 'ja') {
                        adviesContactOpnemenHAEl.checked = true;
                    }


    ////////////////////////////////////////////////////////////////////////////////////////////
                    
                    const rapport = {
                        rode_vlaggen_besproken: checkveld(rodeVlaggenBesprokenEl,data.response.screening_rode_vlaggen_besproken,"ja"),
                        na_overleg_huisarts: checkveld(naOverlegHuisartsEl,data.response.screening_na_overleg_huisarts,"ja"),
                        conclusie_screening: checkveld(conclusieScreening1El,data.response.screening_conclusie_screening,"De symptomen passen in een herkenbaar profiel"),
                        conclusie_screening: checkveld(conclusieScreening2El,data.response.screening_conclusie_screening,"De symptomen passen in een herkenbaar profiel, maar er is sprake van mogelijk ernstige pathologie"),
                        conclusie_screening: checkveld(conclusieScreening3El,data.response.screening_conclusie_screening,"De symptomen passen in een herkenbaar profiel, maar kunnen beter door een andere hulpverlener behandeld worden"),
                        conclusie_screening: checkveld(conclusieScreening4El,data.response.screening_conclusie_screening,"De symptomen passen in een niet herkenbaar profiel"),
                        inhoud_besproken: checkveld(inhoudBesprokenEl,data.response.screening_inhoud_besproken,"ja"),
                        advies_contact_opnemen_ha: checkveld(adviesContactOpnemenHAEl,data.response.screening_advies_contact_opnemen_ha,"ja"),
                        patient_onderzoeken_ja: checkveld(patientOnderzoekenJaEl,data.response.screening_patient_onderzoeken,"ja"),
                        patient_onderzoeken_nee: checkveld(patientOnderzoekenNeeEl,data.response.screening_patient_onderzoeken,"nee"),
                        
                      
                    };

                    const allesOK = Object.values(rapport).every(v => v.status === 'ok' && v.succes === true);

                    console.log(rapport)


                    // ✅ Stuur terug naar het systeem
                    fetch('https://whisper.anzwerz.ai/api/som-feedback', {
                        method: 'POST',
                        headers: {
                        'Content-Type': 'application/json',
                        'X-API-Key': 'mijn-geheime-sleutel'
                    },
                        body: JSON.stringify({
                            timestamp: new Date().toISOString(),
                            result: allesOK ? 'ok' : 'not ok',
                            details: rapport,
                            consult_type: 'intake - screening',
                            patient_number: String(patientName)
                        })
                    })
                    .then(r => {
                        if (!r.ok) {
                            console.warn('Feedback verzenden mislukt:', r.status);
                        }
                    })
                    .catch(err => console.error('Fout bij terugsturen feedback:', err));

                } 

    ///////////////////////////////////////////////////////////////////////////////////

                //Onderzoek

                const verwachtHerstelEl = document.getElementById('frm_input_anamnesis[recovery_prognosis]');

                if (verwachtHerstelEl && verwachtHerstelEl.value == ''){

                    let dropdownHerstel = '0';
     
                    if (verwachtHerstel) {
    
                        if (verwachtHerstel == 'Volledig herstel') {
                            dropdownHerstel  = '42';
                        } else if (aangedaneZijde == 'Reductie') {
                            dropdownHerstel  = '41';
                        } else if (aangedaneZijde == 'Stabilisatie') {
                            dropdownHerstel  = '40';
                        } else if (aangedaneZijde == 'Handhaven of verminderen progressie') {
                            dropdownHerstel  = '39';
                        }
                        
                    }
                    verwachtHerstelEl.value = dropdownHerstel 


                    const indicatieFysiotherapieJaEl = document.getElementById('form_input_anamnesis[indication_physical_therapy]_28');
                    if (indicatieFysiotherapieJaEl && indicatieFysiotherapie && indicatieFysiotherapie.toLowerCase() == 'ja') {
                        indicatieFysiotherapieJaEl.checked = true;
                    }

                    const indicatieFysiotherapieNeeEl = document.getElementById('form_input_anamnesis[indication_physical_therapy]_27');
                    if (indicatieFysiotherapieNeeEl && indicatieFysiotherapie && indicatieFysiotherapie.toLowerCase() == 'nee') {
                        indicatieFysiotherapieNeeEl.checked = true;
                    }

                    const chronischEl = document.getElementById('frm_input_is_chronic');
                    if (chronischEl && chronisch && chronisch.toLowerCase() === 'ja') {
                        chronischEl.checked = true;
                    }

                    const eersteAandoeningEl = document.getElementById('frm_input_is_first_illness');
                    if (eersteAandoeningEl && eersteAandoening && eersteAandoening.toLowerCase() === 'ja') {
                        eersteAandoeningEl.checked = true;
                    }

                    const verwachteDuurAantalEl = document.getElementById('frm_input_anamnesis[recovery_prognosis_duration_value]');
                    if (verwachteDuurAantalEl && verwachteDuurAantal) {
                        verwachteDuurAantalEl.value = verwachteDuurAantal;
                    }

                    const verwachteDuurEenheidEl = document.getElementById('frm_input_anamnesis[recovery_prognosis_duration_unit]');
                    let dropdownVerwachteDuur = '0';
                    if (verwachteDuurEenheidEl) {
                        
                        if (verwachteDuurEenheid) {
                            const verwachteDuurEenheidText = verwachteDuurEenheid.toLowerCase();
 
                            if (verwachteDuurEenheidText == 'dag') {
                                dropdownVerwachteDuur = '38';
                            } else if (verwachteDuurEenheidText == 'dagen') {
                                dropdownVerwachteDuur = '37';
                            } else if (verwachteDuurEenheidText == 'week') {
                                dropdownVerwachteDuur = '36';
                            } else if (verwachteDuurEenheidText == 'weken') {
                                dropdownVerwachteDuur = '35';
                            } else if (verwachteDuurEenheidText == 'maand') {
                               dropdownVerwachteDuur = '34';
                            } else if (verwachteDuurEenheidText == 'maanden') {
                               dropdownVerwachteDuur = '33';
                            } else if (verwachteDuurEenheidText == 'jaar') {
                               dropdownVerwachteDuur = '32';
                            } else if (verwachteDuurEenheidText == 'jaren') {
                               dropdownVerwachteDuur = '31';
                            }
                        }

                        verwachteDuurEenheidEl.value = dropdownVerwachteDuur
                    }

                    const aantalBehandelingenEl = document.getElementById('frm_input_anamnesis[prognosis_number_of_treatments]');
                    if (aantalBehandelingenEl && aantalBehandelingen) {
                        aantalBehandelingenEl.value = aantalBehandelingen;
                    }



                ////////////////////////////////////////////////////////////////////////////////////////////
                    

                    const rapport = {
                        indicatie_fysio_niet: checkveld(indicatieFysiotherapieNeeEl,data.response.onderzoek_indicatie_fysiotherapie,"nee"),
                        indicatie_fysio_wel: checkveld(indicatieFysiotherapieJaEl,data.response.onderzoek_indicatie_fysiotherapie,"ja"),
                        chronisch: checkveld(chronischEl,data.response.onderzoek_chronisch,"ja"),
                        eerste_aandoening: checkveld(eersteAandoeningEl,data.response.onderzoek_eerste_aandoening,"ja"),
                        verwacht_herstel: checkveld(verwachtHerstelEl,dropdownHerstel),
                        verwachte_duur_aantal: checkveld(verwachteDuurAantalEl,data.response.onderzoek_prognose_verwachte_duur_binnen),
                        verwachte_duur_eenheid: checkveld(verwachteDuurEenheidEl,dropdownVerwachteDuur),
                        aantal_behandelingen: checkveld(aantalBehandelingenEl,data.response.onderzoek_prognose_aantal_behandelingen)                       
                    };


                    const allesOK = Object.values(rapport).every(v => v.status === 'ok' && v.succes === true);
 
                    console.log(rapport)

                    // ✅ Stuur terug naar het systeem
                    fetch('https://whisper.anzwerz.ai/api/som-feedback', {
                        method: 'POST',
                        headers: {
                        'Content-Type': 'application/json',
                        'X-API-Key': 'mijn-geheime-sleutel'
                    },
                        body: JSON.stringify({
                            timestamp: new Date().toISOString(),
                            result: allesOK ? 'ok' : 'not ok',
                            details: rapport,
                            consult_type: 'intake - onderzoek',
                            patient_number: String(patientName)
                        })
                    })
                    .then(r => {
                        if (!r.ok) {
                            console.warn('Feedback verzenden mislukt:', r.status);
                        }
                    })
                    .catch(err => console.error('Fout bij terugsturen feedback:', err));

                } 

    ///////////////////////////////////////////////////////////////////////////////////

                //Behandelplan
                const hoofddoelEl = document.getElementById('frm_input_anamnesis[intended_maingoal]');
                if (hoofddoelEl && hoofddoelEl.innerHTML == '') {

                    if (hoofddoelEl && hoofddoel) {
                        hoofddoelEl.innerHTML = hoofddoel;
                    }

                    const toestemmingPatientEl = document.getElementById('frm_input_anamnesis[patient_gives_permission_according_to_treatmentplan_and_maingoal]');
                    if (toestemmingPatientEl && toestemmingPatient && toestemmingPatient.toLowerCase() === 'ja') {
                        toestemmingPatientEl.checked = true;
                    }

                    
                    
    ////////////////////////////////////////////////////////////////////////////////////////////
                    
                    const rapport = {
                        hoofddoel: checkveld(hoofddoelEl, data.response.behandelplan_hoofddoel),
                        toestemming_patient: checkveld(toestemmingPatientEl,data.response.behandelplan_toestemming_patient, 'ja'),
                    };


                    const allesOK = Object.values(rapport).every(v => v.status === 'ok' && v.succes === true);

                    console.log(rapport)

                    // ✅ Stuur terug naar het systeem
                    fetch('https://whisper.anzwerz.ai/api/som-feedback', {
                        method: 'POST',
                        headers: {
                        'Content-Type': 'application/json',
                        'X-API-Key': 'mijn-geheime-sleutel'
                    },
                        body: JSON.stringify({
                            timestamp: new Date().toISOString(),
                            result: allesOK ? 'ok' : 'not ok',
                            details: rapport,
                            consult_type: 'intake - behandelplan',
                            patient_number: String(patientName)
                        })
                    })
                    .then(r => {
                        if (!r.ok) {
                            console.warn('Feedback verzenden mislukt:', r.status);
                        }
                    })
                    .catch(err => console.error('Fout bij terugsturen feedback:', err));

                } 
            }

///////////////////////////////////////////////////////////////////////////////////

        })
        .catch(err => {
            console.error("❌ Fout bij ophalen of verwerken van data:", err);

            fetch("https://whisper.anzwerz.ai/api/log_tm_error/", {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                'X-API-Key': 'mijn-geheime-sleutel'
            },
            body: JSON.stringify({ error_description: err.message,
                                    error_log: err.stack,
                                    error_type: err.name
            })
        })
        });

    }
    
}, false);
})();