You could use RuleFlow, sure. But you don't have to.
Consider the following:-
1) Intermediate facts
when
$p : Person( age < 18 )
then
insertLogical( new Juvenile( $p ) );
end
when
$p : Person( age >= 18 )
then
insertLogical( new Adult( $p ) );
end
when
Juvenile()
then
//Whatever
end
when
Adult()
then
//Whatever
end
Both Juvenile and Adult could be declared types.
2) Multiple patterns
when
$p : Person( age < 18 )
WhateverCheckYouNeedForJuveniles( )
then
//Whatever
end
when
$p : Person( age >= 18 )
WhateverCheckYouNeedForAdults( )
then
//Whatever
end