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

Formulär är en möjlig interaktion mellan invånare och momentet.

Där invånaren själv kan interagera med att skriva, markera och ta del av ett eventuellt resultat från sina svar efteråt.

Formulär kan finnas på flera ställen i ett moment.

I ett steg,

I en modul

I ett mätbatteri

Om resultat

Resultat är en beräkning av hur formuläret besvarats. Resultat och regler för hur resultatet ska beräknas skrivs genom kodspråket Drools av designern.

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.

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.

...