FHIR Chat · Location for Appointment · implementers

Stream: implementers

Topic: Location for Appointment


view this post on Zulip Martin Grundberg (Jun 11 2019 at 09:31):

It is important to specify where an Appointment takes place. The Appointment resource documentation describes this clearly like this:

12.10.2.3 Appointment Locations and Participation
The location of the appointment is to be defined by using a participant that references a Location or HealthcareService resource.
This permits the location to also have its availability checked via a schedule and any conflicts more easily managed.

When looking at participant it has the following elements:
type Σ 0..* CodeableConcept Role of participant in the appointment
Participant type (Extensible)
actor Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location) Person, Location/HealthcareService or Device
required Σ 0..1 code required | optional | information-only
ParticipantRequired (Required)
status Σ 1..1 code accepted | declined | tentative | needs-action
ParticipationStatus (Required)
period 0..1 Period Participation period of the actor

Question
The type only seems to be valid for actors that are people, and not locations (or devices or services). How is the type element intended to be used for an actor that is a Location?

Just not use it? That doesnt seem like a good option to me, as the type ideally should specify the role the actor is playing, and as we have a generic actor representation we would need to build business logic to figure out which type of actor is being provided and would want to do that based on a coded value.

So maybe extend that value set with roles that are also valid for locations? But then location for the appointment seems to be such a common use case that there should be a code included in this value set already.

Or have I misunderstood something about how to use Location for an Appointment? (there is a larger discussion that could be had as well about the role of the Slot and it's HealthcareService in determining the Location for the Appointment)

Thanks!

view this post on Zulip Richard Townley-O'Neill (Jun 14 2019 at 05:27):

The binding to Participant type is extensible, so extra values are permitted.
I expect there are no values suitable for locations for historical reasons (because the current values come from a value set that had no need for them).
I agree with your interpretation of how to represent the location of an appointment.
I suggest that you create a GForge ticket to add values to the value set for the cases that you want.

view this post on Zulip Brian Postlethwaite (Jun 17 2019 at 03:15):

That and you don't need a type if you're selecting a location explicitly (which is usually done while booking)


Last updated: Apr 12 2022 at 19:14 UTC