Beslutsträd som hjälp i arbetet med flödet
För att hålla reda på vilka frågor och svar som ska leda till vilka utgångar är det bra att rita upp ett beslutsträd.
Olika verktyg kan användas för att rita upp beslutsträd. För att komma igång kan en whiteboard vara bra för verksamheterna att själva rita upp frågor/val/utgångar.
Därefter kan ett digitalt verktyg vara bra att använda, t.ex Miro, som är enkelt att dela med andra och flera kan jobba ihop och kommentera.
Tänk på att skapa nya versioner vid förändringar för att kunna gå tillbaka eftersom arbetet med frågor/svar/texter kräver en hel del iteration
Inspelningar från när olika beslutsträd demonstreras:
🎬 2023-09-27 Användarforum 1177 formulärhantering (excelark)
🎬 2022-10-12 Användarforum Formulärhantering 1177 (miro enligt detta exempel)
Exempel på beslutsträd
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. 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.
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 :
- Bild 2: Fråga i formulärmallen med Frågans ID
Märk pilarna ut från respektive fråga (pilarna som motsvarar respektive svarsalternativ) med en siffra (1, 2, 3, 4 o s v).
Notera att första svarsalternativet får siffran “1” (inte “0” så som utgångarna, se nedan).
Detta kommer att förenkla framtagandet av skriptet i senare punkt.
Märk utgångarna med ett id, “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. Börja på “0” för första utgången.
Detta kommer att förenkla framtagandet av skriptet i senare punkt.
Exempel på beslutsträd ritat på whiteboard
Att översätta ditt beslutsträd till ett mall-skript
För att invånares svar ska utfalla i en “Utgång” behöver beslutsträdet översättas till ett beräkningsskript. Baserat på invånarens svar räknar beräkningsskriptet fram en siffra som ska motsvara en “utgång”.
Här följer ett exempel på ett beslutsträd samt beräkningsskriptet som räknar fram utgången enligt beslutsträdet.
De orange-färgade cirklarna motsvarar utgångar, de gröna boxarna motsvarar en fråga, pilarna motsvarar ett svar. Varje fråga har tilldelats ett id (Q1, Q2, Q3).
Beslutsträd
Skript som motsvarar beslutsträdet ovan
Rader i skriptet som börjar med // är kommentarer och påverkar inte beräkningsskriptet.
when
// tilldela variabeln $q listan med invånares svar
$q: Questions()
then
double utgang = 0; // initiera utgang med värdet 0 (utgång 0)
// läs invånares svar på fråga Q1
int svarsQ1 = $q.get("Q1").intValue();
if ( svarsQ1 == 1 )
{
// invånare svarade med svar 1 på fråga Q1
// läs invånares svar på fråga Q2
int svarsQ2 = $q.get("Q2").intValue();
if ( svarsQ2 == 1 )
{
// invånare svarade med svar 1 på fråga Q2
utgang = 0;
}
else
{
// invånare svarade med svar 2 på fråga Q2
utgang = 1;
}
}
else if ( svarsQ1 == 2 )
{
// läs invånares svar på fråga Q2
int svarsQ3 = $q.get("Q3").intValue();
if ( svarsQ3 == 1 )
{
// invånare svarade med svar 1 på fråga Q3
utgang = 2
}
else
{
// invånare svarade med svar 2 på fråga Q3
utgang = 3;
}
}
else if ( svarsQ1 == 3 )
{
// invånare svarade med svar 3 på fråga Q1
utgang = 4
}
// tilldela utkomsten av skriptet (den beräknade utgången)
outcome.set( utgang );
endByt ut raderna 8-47 ovan för att motsvara ditt beslutsträd.