Intake FR

Intkae inladen voor FR

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 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);
})();