Jämförda versioner

Nyckel

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

...

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

[länk till hur man gör beräkningar

Exempel på beräkning FysioterapimottagningExempel på beräkning Fysioterapimottagning

Nedan skript visar hur en beräkning kan se ut

TODO: byt ut denna mot Sunnes

Kodblock
breakoutModewide
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

...