I think that a patient that can be diagnosed with only one decease in day is very lucky one, but this system won't be so lucky - it has hefty design flaw for any real application. Doctor who is unable to write that I've both caught a cold and had the allergy on antibiotics could bring a potential disaster.
And key like (PatientID, DateID, DiseaseID) doesn't allow you to add multiple deceases. It is maximal physically possible key but it is still not enough for this table to be even in the first normal form for your problem domain.
Even if the Date table actually stores both date and time that won't make PatientDecease table very logical(it is hardly possible that someone can be diagnosed with two deceases in one second, but it doesn't solve the problem completely - consider some bulk decease updates).
1) So you should either add some surrogate key
PatientDisease(PatientDiseaseID, PatientID, DateID, DiseaseID)
and your key will be PatientDiseaseID
2) or add an ordinal number of the decease for patient in the day:
PatientDisease(PatientID, DateID, DiseaseID, PatientDeceaseInDayOrdinal)
with primary key (PatientID, DateID, DiseaseID, PatientDeceaseInDayOrdinal)
The first idea is probably better and much simpler.