commonMain.org.hisp.dhis.rules.api.RuleEngine.kt Maven / Gradle / Ivy
package org.hisp.dhis.rules.api
import org.hisp.dhis.rules.engine.DefaultRuleEngine
import org.hisp.dhis.rules.models.*
import kotlin.jvm.JvmStatic
interface RuleEngine {
fun validate(
expression: String,
dataItemStore: Map,
): RuleValidationResult
fun validateDataFieldExpression(
expression: String,
dataItemStore: Map,
): RuleValidationResult
fun evaluateAll(
enrollmentTarget: RuleEnrollment?,
eventsTarget: List,
executionContext: RuleEngineContext,
): List
fun evaluate(
target: RuleEnrollment,
ruleEvents: List,
executionContext: RuleEngineContext,
): List
fun evaluate(
target: RuleEvent,
ruleEnrollment: RuleEnrollment?,
ruleEvents: List,
executionContext: RuleEngineContext,
): List
companion object {
@JvmStatic
fun getInstance(): RuleEngine = DefaultRuleEngine()
}
}