...
Länk till designverktygets manual för resultat
...
Drools - kod för beräkning
Drools är ett kodspråk baserat i java 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 använda 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:
Kodblock |
---|
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.
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
Reglerna delas upp i:
Observera |
---|
Viktigt! 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.