Jämförda versioner

Nyckel

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

← Bakåt

I det här avsnittet berör vi formulärfunktionen och resultatberäkningar. Två viktiga delar i ett moment för interaktivitet och uppföljning.

Om formulär

Om resultat

Länk till designverktygets manual för formulär

...

Länk till designverktygets manual för resultat

Resultat

Drools - kod för beräkning

Droolskod.svg

Drools är ett kodspråk baserat i kodsppråket Java, som genom regler bland annat kan hantera ifyllda formulär. I Stöd och behandling så kan du som designer skapa en eller flera resultatberäkningar genom att skriva dessa regler i droolskod.

Info

Även 1177 Formulärhantering använder sig av drools, men använder en lite annorlunda syntax - dialekt för när man skriver dessa regler, men fungerar i praktiken likadant.

Regelstruktur

Nedan ser du hur reglerna är strukturerade i drools för Stöd och behandling:

...

Then (Då)

End (Slut på regeln)

Kodexempel PHQ-9

Här är ett exempel från det standardiserade formuläret PHQ-9 där formuläret har 9 olika frågor som har etiketterna 1-9 vilka ska läggas ihop till ett summerat resultat.

Kodblock
 rule phq9
when
  field: Field()
then
  result.add( 
(field.get("1") - 1) + 
(field.get("2") - 1) + 
(field.get("3") - 1) + 
(field.get("4") - 1) + 
(field.get("5") - 1) + 
(field.get("6") - 1) + 
(field.get("7") - 1) + 
(field.get("8") - 1) + 
(field.get("9") - 1) 
)
;
end

Bra saker att tänka på:

  • Drools fungerar på samma sätt som funktioner i exempelvis excel, Cell A1 + Cell A2 == field.get(1) + field.get(2). På samma sätt som du kan lägga in ekvationer och formler i excel så kan drools hantera det med.

  • Du kan ha flera regler i en och samma resultatberäkning och när beräkningen körs så används båda reglerna. Se exemplet nedan:

Kodblock
rule regel1
when
  field: Field()
then
  result.add( 
field.get()
)
;
end

rule regel2
when
  field: Field()
then
  result.add( 
field.get()
)
;
end
Observera

Viktigt!Att tänka på

Reglerna körs alltid uppifrån och ned. Så har du flera regler i samma beräkning så kommer alltid den första regeln köras först, sedan den andra, sedan den tredje.

...