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

Resultatberäkning

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

Du kan skapa resultatberäkning på frågetyperna Decimaltal, Heltal, Skala, Rullgardinsmeny eller Radioknapp. Frågorna behöver även ha ett ID.

Det går att skapa beräkningar på följdfrågor och icke obligatoriska frågor. Kom isåfall ihåg att hantera tomma svar i koden!

När du skapar en beräkning ansvarar du också för att testköra beräkningen. En beräkning som inte är noggrant testad kan leda till felaktiga bedömningar.

❗️Kom alltid ihåg att testköra dina beräkningar efter frågorna senast uppdaterades!❗️

Skapa Beräkning

Frågans ID

Ange ett ID för frågan om du vill använda den i en resultatberäkning. Fältet för ID hittar du i frågans redigeringsläge, se bild:

Lägg in en Beräkning

I vänsternavigeringen finns menyvalet “Beräkningar”.

  1. Klicka på menyvalet för att komma till beräkningen

  2. Klicka på plustecknet för att lägga till en beräkning

  3. Följ instruktionerna vid inmatningsfälten

  4. Kom ihåg att testköra din beräkning!

Viktigt att komma ihåg vid programmering av beräkningar

Frågetyp

För frågetyp Heltal och Decimaltal används det besvarade värdet i beräkningsformeln. För frågetyp Rullgardinsmeny och Radioknapp används svarsalternativets ordningstal, t.ex. 2 om det är det andra alternativet.

Resultatet kan bara vara ett numeriskt värde (double), inte exempelvis en textsträng.

Hantera icke-obligatoriska frågor

Om du har icke-obligatoriska frågor som är med i resultatet behöver koden ta hänsyn till att det kan komma in tomma svar. Om du är osäker på hur detta görs bör frågan sättas som obligatorisk. Annars finns denna metod att tillgå:

questions.get("q1", 0)
D.v.s. vid icke-obligatoriska frågor kan man ange ett defaultvärde om svar saknas. Praktiskt om man t.ex. beräknar questions.get("q1", 0) + questions.get("q2", 0) + questions.get("q3", 0) där frågorna inte är obligatoriska. Det hade blivit detta utan
(questions.get("q1") == null ? 0 : questions.get("q1")) + (questions.get("q2") == null ? 0 : questions.get("q2")) + (questions.get("3") == null ? 0 : questions.get("q3"))

Så här visas resultatet

Resultat

Vårdpersonal

Invånare

Null

Inget resultat

Om resultatet blir null visas resultatet inte för invånaren.

Error/Fel

Beräkningen kunde inte utföras”.

Minst en resultatberäkning kunde inte genomföras. Det kan bero på felaktigt skriven beräkningskod där malladministratören inte hanterar invånarens kombination av svar på ett korrekt sätt. Kontakta malladministratören snarast möjligt så att åtgärder kan vidtas.

Se skärmbild:

Om resultatet genererar ett fel visas resultatet inte för invånaren.

Skillnader mellan beräkningskod i SoB och Formulärhantering

Beräkningskoden är väldigt lik mellan Stöd och behandling och Formulärhantering. Det finns dock några skillnader:

Stöd och behandling

Formulärhantering

För befintlig SoB ser det ut så här

1. rule efsob
2. when
3. field: Field()
4. then
5. result.add( field.get("Etikettnamn") );
6. end

Rad 1: har vi tagit bort.
Rad 3: här använder vi Questions() istället för Fields(). Om man då låter variablen heta field så behöver man inte ändra i själva beräkningen.
Rad 5: här byter ni result.add(...) till outcome.set(…)
Syntaxen blir då:

1. when
2. field: Questions()
3. then
4. outcome.set( field.get("QuestionId") );
5. end

Exempel:

when   
   $q: Questions()
then
   outcome.set($q.get("weight") / ($q.get("height")/100 * $q.get("height")/100));
end

Mer information om beräkningar i Stöd och behandling hittar du här.

  • Inga etiketter