Jämförda versioner

Nyckel

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

Du kan skapa resultatberäkning på frågetyperna Decimaltal, Heltal, Skala, Rullgardinsmeny eller Radioknapp. Frågorna som ska användas i beräkningen behöver 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
Varning
Utdrag
nameprogrammering av uträkningar
Varning

Beräkningar behöver skapas av personer med kunskap inom programmering och ansvarar tillsammans med verksamhet för att testköra beräkningar. 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!❗️

Innehållsförteckning

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 ä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.Gå direkt till undermeny:

Underordnade sidor (visning av underordnade)
Info

🎬 Se inspelningar från releasedemo och Användarforum:

https://inera.atlassian.net/wiki/spaces/OFORM/pages/573669424

2020-10-21 Användarforum Formulärhantering 1177

https://inera.atlassian.net/wiki/spaces/OFORM/pages/449709127

https://inera.atlassian.net/wiki/spaces/OFORM/pages/57704536