...
Beslutsträdet börjar med en fråga som sedan delar sig i flera frågor och svarsalternativ. I slutet av varje gren, ska en utgång finnas. Märk utgången med ett id (gärna “Utgång 0”, “Utgång 1” etc)Utgången ska motsvara hänvisningen som invånare ska slussas vidare till. Utgången kan exempelvis vara hänvisning till en tidbokning på en specifik mottagning och för en specifik tidstyp. Utgången kan också vara hänvisning till ett ärendeflöde eller till annan godtycklig e-tjänst.. I exemplet har utgångarna markerats med en grön färg. Om vägen igenom beslutsträdet resulterar i samma utgångar, upprepas utgången, kopior märks med en vit bakgrund för att särskilja på vilka som är “nya utgångar” och vilka som redan använts.
...
Info |
---|
Märk utgångarna med ett id, gärna “Utgång 0”, “Utgång 1” etc. |
Info |
---|
Märk varje fråga med ett id, t ex Q1, Q2 etc. |
Beräkningsskript
Beräkningsskriptet i formulärmallen beräknar fram ett resultat uttryckt som ett tal (0, 1, 2, 3, 4 eller 5). För respektive resultat kopplas sedan en URL, en beskrivande text samt en knapptext för knapp som leder invånaren vidare.
Kodblock |
---|
when
$q: Questions()
then
double result = 0;
// hämta invånares svar på fråga Q1
int svarsQ1 = $q.get("Q1").intValue();
if ( svarsQ1 == 1 )
{
// invånare svarade med första svarsalternativet på fråga Q1
// hämta invånares svar på fråga Q3
int svarsQ3 = $q.get("Q3").intValue();
if( svarsQ3 == 1 )
{
// invånare svarade med första svarsalternativet på fråga Q1
// invånare ska ledas till utgång 0
result = 0;
}
else
{
result = 1;
}
}
else if ( svarsQ1 == 2 )
{
int svarsQ2 = $q.get("Q2").intValue();
int svarsQ4 = $q.get("Q4").intValue();
int svarsQ7 = $q.get("Q7").intValue();
if ( svarsQ2 == 1 || svarsQ2 == 2 )
{
if ( svarsQ7 == 2 )
{
result = 1;
}
else if( svarsQ4 == 2 )
{
result = 3;
}
else
{
result = 2;
}
}
else if ( svarsQ2 == 3 || svarsQ2 == 4 )
{
if ( svarsQ7 == 2 )
{
result = 1;
}
else if( svarsQ4 == 2 )
{
result = 0;
}
else
{
result = 4;
}
}
}
else if ( svarsQ1 == 3 )
{
int svarsQ6 = $q.get("Q6").intValue();
if( svarsQ6 == 1 )
{
result = 2;
}
else if( svarsQ6 == 2 )
{
result = 1;
}
else
{
result = 2;
}
}
else if ( svarsQ1 == 4 )
{
int svarsQ5 = $q.get("Q5").intValue();
int svarsQ9 = $q.get("Q9").intValue();
if( svarsQ9 == 2 )
{
result = 1;
}
else if( svarsQ5 == 2)
{
result = 3;
}
else
{
result = 4;
}
}
outcome.set( result );
end |
T
Exempel på beslutsträd ritat på whiteboard
...