AppointmentService caches the wrong clinician for appointments
Description
If an appointment has an author participation, this may be cached instead of the clinician associated with the appointment. This is because ScheduleEventQuery pulls in all participations for an appointment but doesn't check the participation archetype. Instead it relies on the participating entity's archetype - in this case it is security.user for both participation.clinician and participation.author.
If an appointment has an author participation, this may be cached instead of the clinician associated with the appointment. This is because ScheduleEventQuery pulls in all participations for an appointment but doesn't check the participation archetype. Instead it relies on the participating entity's archetype - in this case it is security.user for both participation.clinician and participation.author.