Currently it is not clear how appointments and wait states work. For example, a clinic reception or a specialist Task Plan may have an initial wait state on the patient arriving. This has to be for a specific appointment (since the same patient can clearly be seen by the same clinic multiple times).
How is the wait state in the materialised Plan defined? It could be based on a calendar event representing the appointment; but in fact no work will be done when this moment in time is reached at the clinic, unless the patient actually turns up. It could be defined as Calendar event appt 123 AND patient #456 arrives. But currently we only allow OR between multiple events in a TaskWait.
Additionally, how are the appointments created in the first place? In the single clinic visit case, it is probably external to the Plan, and the Plan is only activated once the appointment exists. However, in a long term Plan e.g. ante-natal or diabetic management, there will be multiple 'visit' related Tasks (or perhaps Task Plans). Each of these will be defined in the Plan as occurring at a TIMELINE_MOMENT like 14 weeks, 22 weeks, 26 weeks, or 3 months, 6 months, 12 months.
When such a Plan is executed however, the Tasks for the 14 week, 22 week visits etc don't get activated at exactly T0 + 14 weeks, but in fact should wait on an appointment that was made for each of those visits, some limited time in advance - the appointment times might be 15w2d, 23w, etc.