Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.

...

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.
Vilken utgång som invånare kommer att ledas till baserar sig på kombinationen av invånares svar. Utgången beräknas fram med hjälp av ett beräkningsskript som kan resultera i värdena 0, 1, 2, 3, 4 eller 5.

Info

Märk varje fråga med ett id, t ex Q1, Q2 etc.
Detta id sätts sedan i motsvarande fråga i formulärmallen (se bild nedan).
Detta id kommer också att bli variabelnamnet i beräkningsskriptet innehållandes invånares svarsalternativ

Image Added

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

...