...
Beräkningar görs i formulärtjänsten del som heter ExternalApplication.
[länk till hur man gör beräkningar
Exempel på beräkning FysioterapimottagningExempel på beräkning Fysioterapimottagning
Nedan skript visar hur en beräkning kan se ut
TODO: byt ut denna mot Sunnes
Kodblock | ||
---|---|---|
| ||
when
$q: Questions()
then
double result = 0; // result motsvarar utgång
// hämta invånares svar på fråga Q1
int svarsQ1 = $q.get("Q1").intValue();
if ( svarsQ1 == 1 )
{
// Q1:1. Under 18 år
result = 0;
}
else if ( svarsQ1 == 2 )
{
// Q1:2. 18 - 25 år
// hämta invånares svar på fråga Q2
int svarsQ2 = $q.get("Q2").intValue();
if ( svarsQ2 == 1 )
{
// Q2:1: Ja, för samma besvär som jag vill boka tid för nu
// hämta invånares svar på fråga Q3
int svarsQ3 = $q.get("Q3").intValue();
if ( svarsQ3 == 1 )
{
// Q3:1: Kurator
result = 2;
}
else
{
// Q3:2: Psykolog
result = 3;
}
}
else if ( svarsQ2 == 2 || svarsQ2 == 3 )
{
// Q2:2: Ja, men för ett annat besvär
// Q2:3: NEJ
// hämta invånares svar på fråga Q4
int svarsQ4 = $q.get("Q4").intValue();
if ( svarsQ4 == 1 )
{
// Q4:1: Ja, Jag tänker ofta så
// hämta invånares svar på fråga Q6
int svarsQ6 = $q.get("Q6").intValue();
if ( svarsQ6 == 1 )
{
// Q6:1: JA
result = 4;
}
else
{
// Q6:2: NEJ
// hämta invånares svar på fråga Q7
int svarsQ7 = $q.get("Q7").intValue();
if ( svarsQ7 == 1 )
{
// Q7:1 Ja
result = 4;
}
else if ( svarsQ7 == 2 )
{
// Q7:2 Nej, bara vaga tankar
result = 3;
}
else
{
// Q7:3 Nej, inte alls
// hämta invånares svar på fråga Q8
int svarsQ8 = $q.get("Q8").intValue();
if ( svarsQ8 == 1 || svarsQ8 == 2 || svarsQ8 == 3 || svarsQ8 == 4 || svarsQ8 == 5 || svarsQ8 == 8 )
{
result = 3;
}
else
{
result = 2;
}
}
}
}
else if( svarsQ4 == 2 )
{
// Q4:2: Ja, jag tänker så ibland
// hämta invånares svar på fråga Q9
int svarsQ9 = $q.get("Q9").intValue();
if ( svarsQ9 == 1 )
{
// Q9:1: JA
result = 5;
}
else
{
//Q9:2: NEJ
// hämta invånares svar på fråga Q10
int svarsQ10 = $q.get("Q10").intValue();
if ( svarsQ10 == 1 )
{
// Q10:1: Ja
result = 4;
}
else if ( svarsQ10 == 2 || svarsQ10 == 3 )
{
// Q10:2: Nej, bara vaga tankar
// hämta invånares svar på fråga Q11
int svarsQ11 = $q.get("Q11").intValue();
if ( svarsQ11 == 1 || svarsQ11 == 2 || svarsQ11 == 3 || svarsQ11 == 4 || svarsQ11 == 5 || svarsQ11 == 8 )
{
result = 3;
}
else
{
result = 2;
}
}
}
}
else
{
// Q4:3: NEJ
// hämta invånares svar på fråga Q5
int svarsQ5 = $q.get("Q5").intValue();
if ( svarsQ5 == 1 || svarsQ5 == 2 || svarsQ5 == 3 || svarsQ5 == 4 || svarsQ5 == 5 || svarsQ5 == 8 )
{
result = 3;
}
else
{
result = 2;
}
}
}
}
else if ( svarsQ1 == 3 )
{
// 3. Över 25 år
result = 1;
}
// spara utgång för att kunna läsas/kopplas till uthopps-URL
outcome.set( result );
end |
Steg 2 - Länka från beräkning i formulärmallen till tidbokningstjänst
...