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

Introduktionskurs Designverktyget: Formulär, resultat

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

← 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

Formulär

Beskrivning av resultatfliken, resultatberäkning och drools

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.

Ä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:

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

Reglerna delas upp i:

rule efsob (Namnet på regeln)

When (När)

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.

 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:

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

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

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.

  • För att kunna lägga in en fråga och hämta upp svaret på den så behöver frågan ha en etikett, du lägger till etikett genom att klicka på inställningar för den specifika frågan.

  • Drools kör enbart det du sagt åt den att göra, är det vissa frågor du inte vill ska vara med i beräkningen så ignorerar beräkningen det.

  • Du kan testköra din beräkning genom att förhandsgranska formuläret.

  • Inga etiketter