Gå till slutet av bannern
Gå till början av bannern

Steg för steg

Hoppa till slutet på meta-data
Gå till början av metadata

Du visar en gammal version av den här sidan. Visa nuvarande version.

Jämför med nuvarande Visa sidhistorik

« Föregående Version 23 Nästa »

Steg 1 - Ta fram beslutsträdet

För att förenkla det vidare konfigurationsarbetet rekommenderas att verksamheten tar fram och dokumenterar vägarna genom triageringsflödet, uttryckt som ett belutsträd. Konfigurationen kommer därefter att behöva göras i en rad olika administrationsgränssnitt, det är därför till stor hjälp att kunna ha flödesschemat som referens i de olika stegen. Läs mer om Beslutsträd som hjälp i arbetet med flödet.

Steg 2 - Ta fram formulärmallen med dess frågor och följdfrågor

Ta fram en formulärmall i formulärtjänstens designverktyg där de frågor och följdfrågor som successivt ska leda invånare att boka rätt typ av besök (tidstyp).

Här går det att formulera frågor och beskrivande text, lägga in de möjliga svarsalternativen i en lista. Markera om frågan är en följdfråga från en tidigare frågas svar.

Sätt ett id på varje fråga som motsvarar det id som är satt i beslutsträdet (fält: Frågans ID). Detta id kommer du sedan referera till i ditt beräkningsskript.

Steg 3 - Ta fram beräkning som räknar ut utfallen av frågor/svar

I formulärmallen finns möjlighet att lägga in beräkningar för att ange vilka resultat i formulärets frågor/svar som ska leda till vilket utfall.

Beräkningen skrivs med kod i formulärtjänstens designverktyg, så personer med kunskap om enklare typer av kodning kan göra detta.

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.

Formulärtjänsten kopplar svarsalternativen med en indexsiffra, med början på “1”. Första svaret motsvarar “1”, andra svaret motsvarar “2” o s v.
Exempel bild 1 ovan: För att i skriptkod läsa ut vilket svar som invånaren valt för frågan som har id=”Q2”, kan följande kodrad användas:

int svarsQ2 = $q.get("Q2").intValue();

Om invånaren väljer alternativet “Nej” så kommer svarsQ2 att få värdet 3, se flödesbild.

Skriptet ska till slut resultera i ett värde (0, 1, 2, 3, 4 eller 5) som motsvarar utgången. Värdet sätts med följande kodrad (där variabeln i tidigare skede tilldelats resultatet):

outcome.set( result );

 

Här följer ett skript som motsvarar flödesschemat i bild 1

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

 

Länk till Formulärtjänstens dokumentation: Steg för steg, konfiguration

Kontrollera beräkningen

Beräkningen kan kontrolleras genom en förhandsgranskningsvy. Genom att välja vad invånaren kan svara, blir resultatet olika baserat på vad som är inlagt i scriptet. Se mer i Formulärtjänstens dokumentation Steg för steg, konfiguration.

Steg 4 - Länka från beräkning i formulärmallen till tidbokningstjänst

Utgångarna (0, 1, 2, 3, 4, 5) som beräknats fram via beräkningsskriptet kan sedan kopplas till en samling av konfigurationer som dirigerar invånare vidare till andra tjänster/uthopp. De olika 6 konfigurationerna ges ett namn och konfigureras i ett administrationsverktyg som tillhandahålls av förvaltningen för Formulärtjänsten (kallad externalApplication-konfiguration).

Varje sådan samling av utgångskonfigurationer består först av en generell del där det unika namnet anges, tillsammans med en standard-vidarelänkning, i fallet att invånaren väljer att avbryta sin inmatning

Därutöver, för varje beräknad utgång (0, 1, 2, 3, 4, 5) kan sedan en vidarelänkning konfigureras. I exemplet nedan konfigureras vad som ska hända om beräkningen resulterade i värdet 0, d v s utgång 0.

Konfigurationen ovan för utgång 0 ledet exempelvis till denna slutsida i formulärtriageringen (bilden nedan).
När invånaren klickar på knappen “Boka tid” leds invånaren till den länk som konfigurerats i outcomeBelowOneUrl

Exempel på länkning

I exemplet nedan vill verksamheten, baserat på utgången, leda invånaren till att boka tid för tidstypen med tidstypsId = 12345 hos mottagningen med HSAId = SE2321000156-1234. Samtidigt vill verksamheten gömma villkorstexten i tidbokningsflödet:

https://tidbok.1177.se/make?configid=c3fb8b23-466b-45b2-bc35-b7b42565ebf7&hsaid=SE2321000156-1234&timetypeCode=12345&terms=false

Förklaring av länkens olika delar

  1. Bas-URL:

https://tidbok.1177.se/make?configid=c3fb8b23-466b-45b2-bc35-b7b42565ebf7

Denna del av URL:en pekar till e-tjänsten “Boka tid direkt”. När regional administratör skapar en ny “Boka tid direkt” tjänst skapas också ett unikt id - configid. För att ta reda på vilket configid som skapats kan man gå till mottagning där “Boka tid direkt” delats ut och högerklicka på länken, därefter kopiera/spara länk-adressen.

2. HSAId för mottagningen

Andra delen av URL:en pekar ut för vilken mottagning som tidbokningen gäller, baserat på mottagningens HSAId:

&hsaid=SE2321000156-1234

3. TidstypsId

Tredje delen pekar ut vilken tidstyp som tidbokningen ska gälla för. När denna parameter läggs på URL:en så kommer invånaren inte själv att kunna välja tidstyp. Detta id är genererat av- och finns i verksamhetssystemet.

&timetypeCode=12345

4. Villkorstext

Fjärde delen av URL:en styr huruvida villkorstexten ska visas eller gömmas i tidbokstjänsten. Värdet false betyder att villkorstexten göms

&terms=false

Steg 5 - lägg in URL-parameter vid utdelning av tjänst

För att tillgängliggöra formuläret för invånare behöver formuläret publiceras som uthoppstjänst på mottagningens kontaktkort.

Först behöver formuläret omvandlas till en nåbar e-tjänst/uthoppstjänst. Detta görs i formulärtjänstens designverktyg, där mallen skapades.

Därefter delas uthoppstjänsten ut.

Hur det görs finns mera information på denna sida i Personalverktygets manual.

I steg 7 i personalverktygets manual (se länken ovan) väljs tjänstetypen ”FORM” i ID kolumnen

Vidare i steg 16 i personalverktygets manual så anges URL-parametern.

Den totala länken ska till slut bli:

https://formular.1177.se/etjanst/<unikt id>?externalApplication=KALMAR_SE2321000073-F3P4

där <unikt id> är det unika Id som genererades när du skapade en ”erbjuden e-tjänst” i formulär-admin.

Det som ska anges i personalverktyget i fältet URL är det fetstilta

https://formular.1177.se/etjanst/<unikt id>?externalApplication=KALMAR_SE2321000073-F3P4

 Läs mer hos Formulärtjänstens dokumentation:

Uthoppslänk på mottagningens startsida i inloggat läge

Exempel på URL-parameter

https://formular.1177.se/etjanst/e9a057f8-3677-490f-822d-2057c9aa7511?externalApplication=KALMAR_SE2321000073-F3P4

Tips och trix

Problem / behov

Lösning

En följdfråga kan inte komma från två olika frågor.

Om det finns samma följdfråga från två olika frågor behöver följdfrågan dupliceras. Varje kopia av frågan ges ett unikt id

Dvs inte:

Utan:

  • Inga etiketter