мои правила таковы:
rule "calcitonin evaluation"
lock-on-active true
salience 0
when
$p : Patient($labtestItem : labtests.get("calcitonin").get("0"))
LabTestItem($result : result.substring(1,(result.length)-1), parseFloat($result) > 8.4) from $labtestItem
then
$labtestItem.setAbnormalIndicator("high");
$labtestItem.setAttentionLevel("important");
modify($p){}
end
но он всегда строится с ошибкой:
Unable to Analyse Expression labtests.get("calcitonin").get(0):
sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl cannot be cast to java.lang.Class
если я пишу свои правила так, они работают:
rule "calcitonin evaluation"
lock-on-active true
salience 0
when
$p : Patient($labtestItem : labtests)
then
System.out.println($labtestItem.get("calcitonin"));
modify($p){}
end