Created
March 20, 2025 07:55
-
-
Save zufrieden/8655e2cfdcfca178b805a45a55698dcc to your computer and use it in GitHub Desktop.
ehnv-bmi-obesite-form
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> | |
<style type="text/css">sup.asterisque { | |
color: #0080a6; | |
font-weight: bold; | |
font-size: 80%; | |
} | |
.hide { | |
display: none; | |
} | |
.btn.btn-info.form-link { | |
white-space: normal; | |
line-height: 1.2em; | |
} | |
.mt-4 { | |
margin-top: 12px; | |
} | |
.my-4 { | |
margin-top: 12px; | |
margin-bottom: 12px; | |
} | |
input[name=disease] { | |
color: #0080a6; | |
} | |
</style> | |
<fieldset style="display: flex; flex-direction: column;"> | |
<div class="my-4"><label for="body-height">Ma taille (en cm)</label> <input class="form-control" id="body-height" type="number" /></div> | |
<div class="my-4"><label for="body-weight">Mon poids (en kg)</label> <input class="form-control" id="body-weight" type="number" /></div> | |
<div class="my-4"><label for="age">Mon âge</label> <input class="form-control" id="age" type="number" /></div> | |
</fieldset> | |
<div style="margin-top: 33px"> | |
<p>Merci de cocher ce qui correspond à votre situation</p> | |
<p>Je souffre de...</p> | |
</div> | |
<fieldset style="display: flex; flex-direction: column;"> | |
<div><input id="kidney-failure" name="disease" style="margin-right:16px" type="checkbox" value="kidney-failure" /><label for="kidney-failure">Insuffisance rénale sévère sans dialyse</label></div> | |
<div><input id="coronary-disease" name="disease" style="margin-right:16px" type="checkbox" value="coronary-disease" /><label for="coronary-disease">Maladie coronarienne</label></div> | |
<div><input id="cirrhose" name="disease" style="margin-right:16px" type="checkbox" value="cirrhose" /><label for="cirrhose">Cirrhose Child B/C</label></div> | |
<div><input id="mental-disorder" name="disease" style="margin-right:16px" type="checkbox" value="mental-disorder" /><label for="mental-disorder">Troubles psychiques ou psychiatriques sérieux</label></div> | |
<div><input id="chronic-substance-abuse" name="disease" style="margin-right:16px" type="checkbox" value="chronic-substance-abuse" /><label for="chronic-substance-abuse">Abus chronique de substances</label></div> | |
<div><input id="pulmonary-embolism" name="disease" style="margin-right:16px" type="checkbox" value="pulmonary-embolism" /><label for="pulmonary-embolism">J’ai fait une embolie pulmonaire dans les 6 derniers mois</label></div> | |
<div><input id="cancer" name="disease" style="margin-right:16px" type="checkbox" value="cancer" /><label for="cancer">J’ai un cancer non contrôlé ou je suis en rémission depuis moins de 2 ans</label></div> | |
</fieldset> | |
<p><button class="btn btn-primary" id="iwanttoknow" style="margin-top: 33px;" type="button">Je veux savoir</button></p> | |
<h4 class="js-result-title hide"><strong>Résultat :</strong></h4> | |
<div class="alert alert-danger hide" id="emptyFormAlert" role="alert">Veuillez remplir le formulaire</div> | |
<div class="hide" id="surgeryForm"> | |
<div class="alert alert-info"> | |
<p>Votre BMI est de: <span class="bmi-value">0</span></p> | |
<p><strong>Dans votre situation, la chirurgie pourrait être adaptée</strong>. En principe, une opération provoque une diminution de poids <!-- de XX à XX kg --> un an après l’opération.</p> | |
<p> | |
Nous vous proposons de prendre rendez-vous au cabinet de chirurgie en contactant notre secrétariat:</p> | |
<p><strong>Secrétariat du CYOCB</strong><br/> | |
<a href="mailto:[email protected]">[email protected]</a><br/> | |
Tél. <a href="tel:0041244244037">024 424 40 37</a><br/> | |
</p> | |
</div> | |
</div> | |
<div class="hide" id="referralForm"> | |
<div class="alert alert-info"> | |
<p>Votre BMI est de: <span class="bmi-value">0</span></p> | |
<p><strong>Dans votre situation (BMI supérieur à 50 ou âgé-e de plus de 65 ans), vous ne pouvez pas être pris-e en charge au CYOCB</strong>. Nous vous invitons à vous référer au centre d'obésité du CHUV pour en savoir plus sur les possibilités de traiter votre situation par la chirurgie.</p> | |
<a class="btn btn-info form-link mt-4" href="https://www.chuv.ch/fr/chirurgie-viscerale/chv-home/patients-et-familles/chirurgie-bariatrique-obesite" target="_blank">Centre d'obésité du CHUV</a></div> | |
</div> | |
<div class="hide" id="otherForm"> | |
<div class="alert alert-info"> | |
<p>Votre BMI est de: <span class="bmi-value">0</span></p> | |
<p><strong>Dans votre situation, une intervention chirurgicale n’est pas possible</strong>. En revanche, notre programme de suivi sans chirurgie est parfaitement adapté. Il permet d’obtenir de très bons résultats: en général, la plupart des patients... Le CYOCB a mis au point un programme destiné à faire évoluer vos habitudes pour améliorer durablement votre qualité de vie. Dans ce programme, vous bénéficierez d’un suivi personnalisé sur le plan médical, psychologique ou encore nutritionnel. Vous allez apprendre à rééquilibrer votre comportement alimentaire et à augmenter votre activité physique.</p> | |
<a class="btn btn-info form-link mt-4" href="/etablissements/centre-dobesite-et-de-chirurgie-bariatrique-cyocb/form-demande-infos" style="">Je souhaite recevoir des informations sur le programme obésité.</a></div> | |
</div> | |
<script defer> | |
var bodyWeight = document.querySelector('#body-weight'); | |
var bodyHeight = document.querySelector('#body-height'); | |
var age = document.querySelector('#age'); | |
var formBtn = document.querySelector('#iwanttoknow'); | |
var surgeryForm = document.querySelector('#surgeryForm'); | |
var otherForm = document.querySelector('#otherForm'); | |
var referralForm = document.querySelector('#referralForm'); | |
var emptyFormAlert = document.querySelector('#emptyFormAlert'); | |
var canisurgery = false; | |
formBtn.addEventListener('click', function () { | |
var bmi = calcBMI(bodyWeight.value, bodyHeight.value); | |
var diseases = checkSelectedDiseases(document.getElementsByName('disease')).length !== 0 ? true : false; | |
var age = document.querySelector('#age').value; | |
if (bmi > 35 && bmi < 50 && diseases === false && age >= 18 && age <= 65) { | |
canisurgery = true; | |
} else { | |
canisurgery = false; | |
} | |
if (bodyWeight.value && bodyHeight.value && age) { | |
emptyFormAlert.classList.add('hide'); | |
displayForm(canisurgery, bmi, age); | |
} | |
else { | |
emptyFormAlert.classList.remove('hide'); | |
} | |
document.querySelector('.js-result-title').classList.remove('hide'); | |
}); | |
function displayForm(displaySurgery = false, bmi, age) { | |
if (bmi > 50 || age > 65) { | |
referralForm.querySelector('.bmi-value').innerText = bmi; | |
referralForm.classList.remove('hide'); | |
surgeryForm.classList.add('hide'); | |
otherForm.classList.add('hide'); | |
return; | |
} | |
if (displaySurgery) { | |
surgeryForm.querySelector('.bmi-value').innerText = bmi; | |
surgeryForm.classList.remove('hide'); | |
otherForm.classList.add('hide'); | |
referralForm.classList.add('hide'); | |
} else { | |
otherForm.querySelector('.bmi-value').innerText = bmi; | |
otherForm.classList.remove('hide'); | |
surgeryForm.classList.add('hide'); | |
referralForm.classList.add('hide'); | |
} | |
} | |
function checkSelectedDiseases(elements) { | |
var selected = []; | |
elements.forEach(function (element) { | |
if (element.checked) { | |
selected.push(element.value) | |
} | |
}) | |
return selected; | |
} | |
function calcBMI(weight, height) { | |
if (weight == "" || weight == undefined) | |
return false; | |
if (height == "" || height == undefined) | |
return false; | |
return(weight / Math.pow(height/100, 2)).toFixed(1); | |
} | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment