Simple object oriented design for an Allergy class
Two things to notice..

    def add_symptoms(symptom, severity)      


Actually, you don't add many symptoms, but only one :)

Secondly, but this has nothing to do with object oriented. Why is the sympton name given to attr_accessor? Do you expect to change it at runtime (e.g: changing "Rash" to "Sneezes"?) 
Same thing with time_reported, do you expect it to be updatable? :/

Secondly, but I think this is more a "taste" of matter.. I'd honestly prefer to pass something similar:

def add_symptoms(symptom) 


with symptom already being the object instantiated. Why? Because if you are to then have multiple subclasses of Symptom (e.g:

class HeavySimptom
class RespiratorySimptom 
class AmbiguousSymptom


) your code would be quite a pain to change