Neater than my version, and I can confirm that my test is happy with the result. :)
rule "Wenn der BMI des Patienten >= 18.5 und < 25 ist, dann gehört der Patient der Kategorie 'Normalgewicht' an und hat ein 'durchschnittliches' Risiko für Begleiterkrankungen des Übergewichts"
no-loop
when
MessdatenVonPatient($patient : patient && (getMessdaten().getBmi() >= 18.5) && (getMessdaten().getBmi() < 25))
$krankheitsbildVonPatient : KrankheitsbildVonPatient(
patient == $patient
)
then
modify( $krankheitsbildVonPatient ) {
getKrankheitsbild().setAdipositasGrad("Normalgewicht"),
getKrankheitsbild().setRisikoBegleiterkrankungGrad(1)
}
end