Update Patient.java

How to use:
1.instantiate a patient (preferably using the constructor with the ID)
2.put necessary attributes

sample:
Patient p = new Patient(1);
p.putAttribute(Patient.LAST_NAME, "Guitar");
p.putAttribute(Patient.FIRST_NAME, "Rick");

be mindful of the data types.
Key Patient.BIRTHDAY should have a value of Calendar or Date (preferably Calendar)

when using Calendar instance, if you'll only be using some of its fields, always call Calendar.clear()
sample:
Calendar myBirthday = Calendar.getInstance(); //myBirthday will only use month, day, and year
myBirthday.clear();
myBirthday.set(1995, 4, 21);
reason:
comparing instances of Calendar is like comparing every value of its fields (including milliseconds, etc.) so having 2 instances that differ by milliseconds (the time when the object is instantiated) will cause it to be unequal (even if the month, year, and date is equal)


Patient.equals(Object):
a patient is equal to another object if:
1. the classes are the same 
2. the "primary keys" are the same

Patient.matches(Patient)
Patient a matches patient b if:
1. the classes are the same 
2. all attributes of b is in a and is equal (so, if there is an attribute in a that is not in b, they can still be "matched". Record b is like a search criteria. everything you're looking for (patient b) must be in patient a