Stream: implementers
Topic: Actors in schedule
Artem Pavlov (Dec 11 2019 at 13:33):
Hello. We want to build a service for making an appointment with a practitioner. Our use case is this: there is an application in which you can find the nearest practitioner and make an appointment with him. However, we were faced with the following question: who should be an actor in the resource Schedule.actor? We think that it is necessary to create 2 actors: patient and practitioner.
This option works well if the practitioner provides services at one point (Location). We often find that a practitioner provides services at several points (Locations) and then we cannot say for sure which Location his schedule belongs to. We thought of using a PractitionerRole to separate, but a practitioner with one role can also provide services in two Locations. This again does not provide a binding to a specific schedule at a particular point. We can enter constraints that the PractitionerRole referenced to exactly one Location. But maybe there are some other solution options and someone solved this problem?
Lloyd McKenzie (Dec 11 2019 at 13:35):
Appointments can also have Locations (and even Devices) as participants. Any 'bookable' resource can be invited.
Artem Pavlov (Dec 11 2019 at 14:17):
Appointments can also have Locations (and even Devices) as participants. Any 'bookable' resource can be invited.
Thanks. Yes, you're right, but Location has hoursOfOperation, which determines its availability. We considered the option you proposed, but there is a use case when a practitioner has two different roles in one Location, for example, a gynecologist and an ultrasound practitioner.
Each role, in this case, should have its own schedule.
A PractitionerRole may be suitable for this. However, according to information from DevDays, there is a risk that this resource may be combined with a Practitioner.
René Spronk (Dec 11 2019 at 15:00):
Nothing forces you to have either a Schedule or a Slot associated with a Location resource when creating an appointment. If locations are "always available" then there is an implicit agreement (as seen from a Location perspective) for any appointment request.
Cooper Thompson (Dec 11 2019 at 15:05):
Also, depending on how complicated your scheduling rules are, you might consider looking at the Argonaut Scheduling IG. That defines an operation driven method of scheduling appointments.
Last updated: Apr 12 2022 at 19:14 UTC