Jämförda versioner

Nyckel

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

...

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 är 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:

Image Removed

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 (SoB)

Formulärhantering (FRM)

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 FRM tagit bort.
Rad 3: här använder FRM 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:

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