A Generic Knowledge Based Medical Diagnosis Expert System