A system and method to aid diagnosis of a patient includes a data and knowledge acquisition module and a meta diagnosis prediction module. The data and knowledge acquisition module includes: an input for patient data including any of previous diagnosis, drugs, symptoms and treatment, an input for open data and an input for expert knowledge, and is arranged to use these inputs to create a patient clinical object (PCO), a biomedical knowledge graph and a rule based knowledge graph, and to enrich the patient clinical object using the biomedical knowledge graph. The meta diagnosis prediction module is arranged to use the patient clinical object and the biomedical knowledge graph and/or the rule based knowledge graph in two or more of the following predictors: a diagnosis-based predictor to provide a set of diagnoses based on previous diagnoses, a drug-based predictor to provide a set of diagnoses based on drugs taken by the patient, a symptom-based predictor to provide a set of diagnoses based on symptoms of the patient and a treatment-based predictor to provide a set of diagnoses based on the treatments the patient is receiving. The meta diagnosis prediction module includes a meta predictor to combine any of the sets of diagnoses to give a predicted primary diagnosis.