SDS FHIR API (?Device endpoint) to fetch the End user's system ASID(consumer system),

Hi Team,

I have a query related to SDS FHIR API(/Device endpoint) where we want to fetch the ASID based on provided ods Code.

my main query is to fetch consumer system ASID which would be further to be passed in “Ssp-From” header of GP Connect request(e.g Access record HTML). Since end user’s can be any hospitals or organisations which are using any hosting organisation product that further integrates with GP Connect system, So

  1. Can we pass the end user’s ODS code to fetch their ASID which would be treated as consumer ASID? Because it is also mentioned in GP Connect documentation, SSP-From should contain ASID of end user’s organisation

  2. If yes and we receive multiple ASID in the response, which one is to choose from to pass further in the GP Connect request.?

Currently from sandbox.api.services.nhs.uk host, I am getting empty record of response.

Regards,
Gaurav Chauhan

Hi @chauhangaurav

I have reached out to the SDS FHIR API product owner for a response. As soon as we receive any updates you will be notified.

Kind regards,
Ernest

Hi @chauhangaurav

  1. Can I pass in an ODS code to get the ASID? Yes, passing an ODS code is required. API documentation is here: Spine Directory Service - FHIR API - NHS Digital

  2. We are awaiting a response from the GP Connect team. They may also choose to contact you directly.

Kind regards,
Ernest

Thanks for your reply.

In regards to the first question, Yes, I understand that odsCode is mandatory and we will pass, but my query was, Does SDS FHIR API accept ods code for every healthcare organisation(e.g. Hospitals, trust, secondary care) in NHS England to provide ASID in reposne or it only accepts for GP Primary system?
Because" Ssp-From " header should ontian the consumer ASID that belongs to end user. Please confirm.

SDS FHIR isn’t limited to GPs.

I am about to replace our LDAP lookup for GPC to use the FHIR SDS endpoint call. There are two calls; Endpoint and Device. From what I see is you need to do this.

  1. Call the Endpoint API with the ODS code and InteractionId in the request URL
    From the response you will get the PartyKey for that organisation and the GP Connect URL you need to pass to the SSP.
  2. Call the Device API with the ODS code, InteractionId and PartyKey in the request URL.
    From the response you will get the ASID associated with that Party Key, as well as all the InteractionId’s that you can use for that organisation.

Hi @iminshall

Thanks for your reply.

Even I am replacing my LDAP call with this SDS FHIR API as i am facing connectivity issues on INT env with LDAP server.

So you mean to say there is a sequence where we need to first call /Endpoint to fetch url and party key and then /device endpoint with the party key received from above response.

I was doing other way around. So by usin this sequence, are we sure we would get only one record of ASID or is there any chances to get multiple partykey from /Endpoint from a given ods code. Then tehre might be a confusion which one to pick.

I am only getting one ASID and I think that’s how its supposed to work. One ASID per PartyKey per InteractionId. I have tried with A20047 and InteractionId
urn:nhs:names:services:gpconnect:fhir:operation:gpc.getcarerecord in INT and I get one ASID.

Thats very strange.
If you call first /Device endpoint with odsCode and inteaction id, you will get 3 ASID records with different party keys.
But if you call /Endpoint with same odsCode=A20047, you will get only one partykey.

Not sure if it ts data setup issue. But I would also chnage my sequence of calling endpoints as mentioned by you. In that way I would only get one ASID per partykey retrieved from /Endpoint.