A computer-implemented method of training a predictive model from electronic health record data for a multitude of patients, the predictive model being for generating an output as a class label which is a prediction of a diagnosis at discharge for a patient or a mortality prediction for a patient based on the electronic health record data of the patient, the electronic health record data comprising multiple features, each feature associated with a real value and a time component, and the multiple features comprising features including vital measurements, the vital measurements comprising at least one of blood pressure, weight and heart rate, the computer-implemented method comprising the steps of executing the following instructions in a processor of the computer: a) defining a multitude of predicates, each predicate being a function which generates a binary value as an output when operating on time sequences of the features or on logical operations on the time sequences of the features; and b) iteratively training a predictive model to generate the class label as an output based on the binary values generated by one of the predicates when operating on time sequences of features of the electronic health record data for a patient or on logical operations on the time sequences of the features of the electronic health record data for a patient, by performing the following: 1) initializing the predictive model based on a predicate; 2) generating a number of new random predicates; 3) scoring all the new random predicates by weighted information gain with respect to the class label; 4) selecting a number of the new random predicates with the highest weighted information gain and adding them to the predictive model; 5) computing weights for all the predicates in the predictive model; 6) removing one or more of the selected new predicates with the highest weighted information gain from the predictive model in response to input from an operator; and 7) repeating the performance of steps 2, 3, 4, 5 and 6 a plurality of times and thereby generating a final iteratively trained predictive model. a) defining a multitude of predicates, each predicate being a function which generates a binary value as an output when operating on time sequences of the features or on logical operations on the time sequences of the features; and b) iteratively training a predictive model to generate the class label as an output based on the binary values generated by one of the predicates when operating on time sequences of features of the electronic health record data for a patient or on logical operations on the time sequences of the features of the electronic health record data for a patient, by performing the following: 1) initializing the predictive model based on a predicate; 2) generating a number of new random predicates; 3) scoring all the new random predicates by weighted information gain with respect to the class label; 4) selecting a number of the new random predicates with the highest weighted information gain and adding them to the predictive model; 5) computing weights for all the predicates in the predictive model; 6) removing one or more of the selected new predicates with the highest weighted information gain from the predictive model in response to input from an operator; and 7) repeating the performance of steps 2, 3, 4, 5 and 6 a plurality of times and thereby generating a final iteratively trained predictive model. 1) initializing the predictive model based on a predicate; 2) generating a number of new random predicates; 3) scoring all the new random predicates by weighted information gain with respect to the class label; 4) selecting a number of the new random predicates with the highest weighted information gain and adding them to the predictive model; 5) computing weights for all the predicates in the predictive model; 6) removing one or more of the selected new predicates with the highest weighted information gain from the predictive model in response to input from an operator; and 7) repeating the performance of steps 2, 3, 4, 5 and 6 a plurality of times and thereby generating a final iteratively trained predictive model.