Appointment Booking - clinician does not match the slot

Looking through the prior posts around this topic, I found this one A005 - Named Clinician Issue but it ended in a “lets have a call” :frowning:

Below I go into (likely far too much detail) - but in short, we identify our service, we create the referral, we retrieve the available appointment slots (not scoped to a clinician) , we select one appointment and when trying to book it, we receive a “clinician’ (null) does not match the slot” which is confusing as the call to A015 does not include any clinician info.

Does anyone have any tips on what am I missing in this process?

Thanks in advance
Hayward.

The longer / more detailed description follows ..

We have created an referral for a directly bookable service. UBRN in INT environment is “000049829549” ← incase this helps.

Getting the available slots for the given service via the minimal call to A015 where appointment type matches the service search and referral creation.
{
“_count”: “100”,
“_include”: null,
“appointmentType”: “TWO_WEEK_WAIT”,
“page”: “1”,
“schedule.actor:HealthcareService”: “6710874”,
“status”: “free”
}

We then get a list of available appointment slots. One of which is :
{ "resource": { "id": "28216437", "identifier": [ { "system": "``https://fhir.nhs.uk/Id/alternative-slot``", "value": "2605310003961100010120" } ], "schedule": { "reference": "Schedule/6710874-100258351989" }, "status": "free", "start": "2026-05-31T10:00:00", "end": "2026-05-31T10:19:00", "actor": null }, "search": { "mode": "match" } },

However, when we try to book the slot using:
{
“description”: “e-Referral Appointment”,
“end”: “2026-05-31T10:19:00+00:00”,
“id”: “appointment”,
“incomingReferral”: [
{
“reference”: “ReferralRequest/000049829549/_history/4”
}
],
“language”: “en”,
“meta”: {
“profile”: [
“``https://fhir.nhs.uk/STU3/StructureDefinition/eRS-Appointment-1”``,
“``https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Appointment-1”
]
},
“participant”: [
{
“actor”: {
“identifier”: {
“system”: “``http://fhir.nhs.net/Id/ers-service”``,
“value”: “6710874”
}
},
“status”: “accepted”
},
{
“actor”: {
“identifier”: {
“system”: “``http://fhir.nhs.net/Id/nhs-number”``,
“value”: “9729883815”
}
},
“status”: “accepted”
}
],
“resourceType”: “Appointment”,
“slot”: [
{
“reference”: “Slot/28216437”
}
],
“start”: “2026-05-31T10:00:00+00:00”,
“status”: “booked”
}

We receive an error stating that the clinician (null) does not match the slot. But there is no mention of a clinician in the appointment slot retrieval.

{
“ErsDiagnosticText”: “‘clinician’ (null) does not match the slot”,
“ErsIssueCodes”: [
{
“Code”: “INAPPROPRIATE_VALUE”,
“Display”: “Inappropriate value”
}
],
“ErsOriginalHttpCode”: 422,
“ErsStatusCode”: “UnprocessableEntity”,
“Payloads”: [
“Payload to send: {resourceType:Appointment,id:appointment,meta:{profile:[``https://fhir.nhs.uk/STU3/StructureDefinition/eRS-Appointment-1,https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-Appointment-1``]},language:en,status:booked,description:e-Referral Appointment,start:2026-05-31T10:00:0000:00,end:2026-05-31T10:19:0000:00,slot:[{reference:Slot/28216437}],incomingReferral:[{reference:ReferralRequest/000049829549/_history/4}],participant:[{actor:{identifier:{system:``http://fhir.nhs.net/Id/ers-service,value:6710874``}},status:accepted},{actor:{identifier:{system:``http://fhir.nhs.net/Id/nhs-number,value:9729883815``}},status:accepted}]}”,
“Payload to received: ReferralNexus.Services.Models.ERSErrorResponse”
]
}

This may be the best rubber-duck-debugging service ever :smile:

Under the Important Note - "Slots with a named clinician will have an additional “actor” which defines the SDS User ID of the clinician, this will be on the Schedule associated to the Slot."Purely working off the examples, I had glossed over this. Yes, our appointment slots included schedule data. And if we actually parsed that out and included it as the User “actor” and then skip the FHIR validation (known issue listed in the eRS documentation) .

We have succesful bookings coming through.