QuestionnaireResponse is often used for capturing raw data. However, you typically extract that information and propagate it into other resources for analysis/comparison/tracking/query. Observation is certainly an appropriate place to put scores. ClinicalImpression captures a bunch of information from a clinician who is assessing various inputs (Observations, QuestionnaireResponses, etc.)