Text this: Multi-view contrastive learning and symptom extraction insights for medical report generation