Beslutsträd som hjälp i arbetet med flödet

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.

Bild 1: Beslutsträd uppritat i Miro - översiktsbild

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

Exempel på triagering-20260512-120830.png

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 ); end

Byt ut raderna 8-47 ovan för att motsvara ditt beslutsträd.