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

Beräkningar och ihopkoppling av formulärmall med tidbokning

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 7 Nästa »

Koppla ihop formulärmallen med tidbokning

<beskrivning> eller länkar

Steg 1 - Ta fram beräkning som kopplar ihop formuläret med tidbokning

I dagsläget har varken lokal eller regional administratör behörighet att skapa beräkningar för att koppla ihop formulärmallen med tidbokningen.

Beräkningar görs i formulärtjänsten del som heter ExternalApplication.

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

Exempel på beräkning Fysioterapimottagning

Nedan skript visar hur en beräkning kan se ut

TODO: byt ut denna mot Sunnes

when
    $q: Questions()

then
    double result = 0; // result motsvarar utgång

    // hämta invånares svar på fråga Q1
    int svarsQ1 = $q.get("Q1").intValue();

    if ( svarsQ1 == 1 ) 
    { 
        // Q1:1. Under 18 år
        result = 0;
    }
    else if ( svarsQ1 == 2 ) 
    {
        // Q1:2. 18 - 25 år

        // hämta invånares svar på fråga Q2
        int svarsQ2 = $q.get("Q2").intValue();
        if ( svarsQ2 == 1  )
        {
            // Q2:1: Ja, för samma besvär som jag vill boka tid för  nu

            // hämta invånares svar på fråga Q3
            int svarsQ3 = $q.get("Q3").intValue();
            if ( svarsQ3 == 1  )
            {
                // Q3:1: Kurator
                result = 2;
            }
            else
            {
                // Q3:2: Psykolog
                result = 3;
            }
        }
        else if ( svarsQ2 == 2 || svarsQ2 == 3 )
        {
            // Q2:2: Ja, men för ett annat besvär
            // Q2:3: NEJ

            // hämta invånares svar på fråga Q4
            int svarsQ4 = $q.get("Q4").intValue();
            if ( svarsQ4 == 1  )
            {
                // Q4:1: Ja, Jag tänker ofta så

                // hämta invånares svar på fråga Q6
                int svarsQ6 = $q.get("Q6").intValue();
                if ( svarsQ6 == 1  )
                {
                    // Q6:1: JA
                    result = 4;
                }
                else
                {
                    // Q6:2: NEJ

                    // hämta invånares svar på fråga Q7
                    int svarsQ7 = $q.get("Q7").intValue();
                    if ( svarsQ7 == 1  )
                    {
                        // Q7:1 Ja
                        result = 4;
                    }
                    else if ( svarsQ7 == 2  )
                    {
                        // Q7:2 Nej, bara vaga tankar
                        result = 3;
                    }
                    else
                    {
                        // Q7:3 Nej, inte alls

                        // hämta invånares svar på fråga Q8
                        int svarsQ8 = $q.get("Q8").intValue();
                        if ( svarsQ8 == 1 || svarsQ8 == 2 || svarsQ8 == 3 || svarsQ8 == 4 || svarsQ8 == 5 || svarsQ8 == 8 )
                        {
                            result = 3;
                        }
                        else
                        {
                            result = 2;
                        }
                    }
                }
            }
            else if( svarsQ4 == 2  )
            {
                // Q4:2: Ja, jag tänker så ibland

                // hämta invånares svar på fråga Q9
                int svarsQ9 = $q.get("Q9").intValue();
                if ( svarsQ9 == 1  )
                {
                    // Q9:1: JA
                    result = 5;
                }
                else
                {
                    //Q9:2: NEJ

                    // hämta invånares svar på fråga Q10
                    int svarsQ10 = $q.get("Q10").intValue();
                    if ( svarsQ10 == 1  )
                    {
                        // Q10:1: Ja
                        
                        result = 4;
                    }
                    else if ( svarsQ10 == 2 || svarsQ10 == 3 )
                    {
                        // Q10:2: Nej, bara vaga tankar

                        // hämta invånares svar på fråga Q11
                        int svarsQ11 = $q.get("Q11").intValue();
                        if ( svarsQ11 == 1 || svarsQ11 == 2 || svarsQ11 == 3 || svarsQ11 == 4 || svarsQ11 == 5 || svarsQ11 == 8 )
                        {
                            result = 3;
                        }
                        else
                        {
                            result = 2;
                        }
                    }
                }
            }
            else
            {
                // Q4:3: NEJ

                // hämta invånares svar på fråga Q5
                int svarsQ5 = $q.get("Q5").intValue();
                if ( svarsQ5 == 1 || svarsQ5 == 2 || svarsQ5 == 3 || svarsQ5 == 4 || svarsQ5 == 5 || svarsQ5 == 8 )
                {
                    result = 3;
                }
                else
                {
                    result = 2;
                }
            }
        }
    }
    else if ( svarsQ1 == 3 ) 
    {
        // 3. Över 25 år
        
        result = 1;
    }

    // spara utgång för att kunna läsas/kopplas till uthopps-URL
    outcome.set( result );   
end

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

I externalApplication kopplas en vidarelänkning från beräkningen i formulärmallen

Exempel på länkning

förklara delarna i url:en

https://tidbok.1177.se/make?configid=c3fb8b23-466b-45b2-bc35-b7b42565ebf7&hsaid=TSTNMT2321000156-112C&timetypeCode=2&terms=false

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

Exempel på URL-parameter

förklara delarna i url:en

?externalApplication=TRIAGE_VARMLAND

Tips och trix

Problem / behov

Lösning

Vid konfigurering av beräkningen i external application i Formulärtjänsten, går det inte att peka på samma utgång från flera frågor/svarsalternativ

Frågan och svarsalternativen behöver kopieras och kan inte gå ihop till samma.

Dvs inte:

Utan:

  • Inga etiketter