Hi Mark,
This is configurable per client and it may appear in a clients domain. If we were to schedule an Appointment for Slot #1 (21265426-4048128-7688501-300) with the following request:
curl -X POST \
-H 'Accept: application/json+fhir' \
-H 'Authorization: Bearer token' \
-H 'Content-Type: application/json+fhir' \
-H 'Postman-Token: 8057f5c2-2cc1-4302-ad8a-e8c29e25415a' \
-H 'cache-control: no-cache' \
-d '{
"resourceType": "Appointment",
"slot": {
"reference": "Slot/21265426-4048128-7688501-300"
},
"participant": [
{
"actor": {
"reference": "Patient/4704007",
"display": "Smart, Barney R"
},
"status": "needs-action"
}
],
"status": "proposed"
}'
If we make a call to both Slot #1 (21265426-4048128-7688501-300) and Slot #2 (21265426-633867-7688501-300) and look at the Slot.freeBusyType field, we should see:
"freeBusyType": "busy",
for both Slots.
Attempting to schedule an appointment at this point for Slot #1 or Slot #2 we should receive back a 422, which we do. If I go ahead and cancel that created appointment with the following request:
curl -X PUT \
-H 'Accept: application/json+fhir' \
-H 'Authorization: Bearer token' \
-H 'Content-Type: application/json+fhir' \
-H 'If-Match: W/"0"' \
-H 'Postman-Token: 3810522e-8a59-4591-8caa-51b5539484d2' \
-H 'cache-control: no-cache' \
-d '{
"resourceType": "Appointment",
"id": "4425746",
"participant": [
{
"actor": {
"reference": "Patient/4704007",
"display": "Smart, Barney R"
},
"status": "accepted"
}
],
"status": "cancelled"
}'
Then the Slot.freeBusyType field should be the following for both Slots:
"freeBusyType": "free",
In testing, it is.
Hopefully this clears up confusion on your end.
Thanks,
Ben (Cerner)