Here's what I want to build. I'd be very grateful if some Drupal experts would help me find a good approach using Drupal:
* A few hundred users divided into types: students, tutors, supervisors and parents, each with different access to content as described below.
* A tutor has many students; a supervisor has many tutors; a student has many (a couple) parents
* Profiles for each user, with content based on type
* Tutors enter short- and long-term goals for students and subsequent goal progress notes and private goal notes at irregular times for each goal. Goals are structured into standard fields, each like a row of a spreadsheet
* Everybody can see goals and goal progress notes
* Parents, tutors and supervisors can see private goal notes
* Tutors meet with students in tutoring sessions
* Tutors enter session notes after each tutoring session with a student
* Parents, tutors and supervisors can see session notes, but not students
* Parents can provide feedback on session notes for their student; with responses by the appropriate tutor and so on like a back-and-forth conversation
* Supervisors meet with tutors in supervision sessions, each of which discusses one or more of the tutor's students