calculate an intervention duration

More
4 years 2 months ago #96184 by ahchouch
ahchouch created the topic: calculate an intervention duration
0Hi
I need to calculate the duration of an intervention in minutes.
I have 04 numeric type questions standing for hour and minute of benginning and finish of intervention.
Q1: Hour of incision
Q2/ minute of incision
Q3: Hour of closure
Q4: minute of closure
How can i do this with EM or JS?
The main issue is to handle the negative difference between hours or minutes (IH 23 and CH 00 for instance witch should give 01 hour difference not -23!)
Thanks in advance

Please Log in to join the conversation.

More
4 years 2 months ago #96185 by Ben_V
Ben_V replied the topic: calculate an intervention duration
I'm not sure if you already know that you can use as well a very smart "timepicker" question ... :)
It's the end of the good news because I have no idea if it can be easier to handle your calculation with this :(

Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)

Please Log in to join the conversation.

More
4 years 2 months ago #96187 by ahchouch
ahchouch replied the topic: calculate an intervention duration
Thanks Ben
I actually kept my 4 numeric type questions and tried some JS.
I had first to set rules for calculating the duration according to hours and/or minutes of closure are superior or not hours and/or minutes of incision. (4 cases!)
It worked fine.
I just need to add an alert if one of the four fiels is empty. It seems simple but my knowledge of JS is less than basic! :(
Heres' the JS
<script type="text/JavaScript">
jQuery(document).ready(
    function(){
       // alert('onload alert!');
 
$('#answer941186X3X378,#answer941186X3X379,#answer941186X3X380,#answer941186X3X381').change(function() {
var hoi= parseInt($('#answer941186X3X378').val());
var moi= parseInt($('#answer941186X3X379').val());
var hoc= parseInt($('#answer941186X3X380').val());
var moc= parseInt($('#answer941186X3X381').val());
var duree = new Number();
 
if ((hoc >= hoi) && (moc >= moi)) {
duree = (60 * (hoc - hoi)) + (moc - moi);
}
if ((hoc >= hoi) && (moc < moi)) {
duree = 60 * (hoc - hoi - 1) + 60 - moi + moc;
}
if ((hoc < hoi) && (moc < moi)) {
duree = (60 * ((23 - hoi) + hoc)) + ((60 - moi) + moc);
}
if ((hoc < hoi) && (moc >= moi)) {
duree = (60 * ((24 - hoi) + hoc)) + (moc - moi);
}
 
	$('#answer941186X3X1341').val(duree);
 
});
 
    }
 
);
 
 
</script>

Please Log in to join the conversation.

More
4 years 2 months ago #96189 by Ben_V
Ben_V replied the topic: calculate an intervention duration

I just need to add an alert if one of the four fiels is empty.

Sounds like the 4 questions just have to be set 'mandatory' :blink:

Remember that in the advanced settings of numerical input questions you can use the 'question validation equation' and 'question validation tip' to display a validation message...

(!is_empty(1234X56X789.NAOK))
or any more complex rule...e.g.:
((!is_empty(1234X56X789.NAOK) && (1234X56X789.NAOK >= "0"))


Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Attachments:
The following user(s) said Thank You: ahchouch

Please Log in to join the conversation.

Did you already participate in our customer survey?

Don't miss your chance for great prices.

Please click here to participate:

Start now

Start now!

Just create your account and start using Limesurvey today.

Register now