Retrieve all Practitioners/Clinicians at an Organisation

Am I able to use this API to retrieve a list of consultants/clinicians at our organisation? If so how?

By this API I mean the ‘Organisation Data Terminology - FHIR API’ which I thought I had posted under

I’ll leave others to officially answer your question.

Can you confirm you are asking for a capability which is answered by an API like this

https://profiles.ihe.net/ITI/mCSD/ITI-90.html#23904125-practitionerrole-resource-message-semantics

So something like this?

GET \FHIR\R4\PractitionerRole?organization:identifier=https://fhir.nhs.uk/Id/ods-organization-code|M85011

which would returns a list (FHIR Bundle searchset) of PractitionerRole.

A single example PractitionerRole is below

{
    "resourceType": "PractitionerRole",
    "id": "125686540025",
    "identifier":  [
        {
            "system": "https://fhir.nhs.uk/Id/sds-role-profile-id",
            "value": "125686540025"
        }
    ],
    "active": true,
    "period": {
        "start": "2024-09-30"
    },
    "practitioner": {
        "reference": "https://directoryservice.example.nhs.uk/FHIR/R4/Practitioner/3415870201",
        "identifier": {
            "system": "https://fhir.hl7.org.uk/Id/gmp-number",
            "value": "G1234567"
        },
        "display": "Dr Razia Ali"
    },
    "organization": {
        "reference": "https://directoryservice.example.nhs.uk/FHIR/R4/Organization/M85011",
        "identifier": {
            "system": "https://fhir.nhs.uk/Id/ods-organization-code",
            "value": "M85011"
        },
        "display": "THE SWAN MEDICAL CENTRE"
    },
    "code":  [
        {
            "coding":  [
                {
                    "system": "https://fhir.nhs.uk/England/CodeSystem/England-JobRoleCode",
                    "code": "01025"
                }
            ]
        },
        {
            "coding":  [
                {
                    "system": "https://fhir.nhs.uk/England/CodeSystem/England-SDSJobRoleName",
                    "code": "R0260"
                }
            ]
        }
    ]
}

This example is from elaboration of another API which isn’t listed on the API Catalogue.

p.s. the id of the PractitionerRole is the SDS User Role Id and the id of the Practitioner is the SDS User Id (so related to SmartCard and SDS)

Hi Kev. Yes I am aware of being able to call a FHIR server for the Role. This API though is a terminology server where the Practitioner, PractitionerRole, etc are stored in CodeSystems/Valuesets. So to retrieve a practitioner you call

CodeSystem/$lookup?system=https://digital.nhs.uk/services/organisation-data-service/CodeSystem/practitioner&code=80Y0298E&property=*

according to the API.

I don’t think this API can return FHIR ‘resources’ but the API spec seems to have been removed.

[Organisation Data Terminology - FHIR API - NHS England Digital](https://digital.nhs.uk/developer/api-catalogue/organisation-data-terminology)

I think that site is having problems rendering OAS/Swagger.

I’ve been grabbing the OAS file and then pasting it into https://editor.swagger.io/

Hi Ian
The OAS spec for the Organisation Data Terminology FHIR API should be available once again – apologies, there was a general website issue that has now been rectified.
Organisation Data Terminology - FHIR API - NHS England Digital

There is a postman sandbox with a range of example queries that may be helpful in general:
organisation data service FHIR R4 API Sandbox for organisation-data-terminology API

For your specific query, we can advise that the Organisation Data Terminology FHIR API only contains practitioner data for a relatively small subset of clinicians/staff. This includes: General Practitioners, Hospital Consultants, Dental Consultants, Private Controlled Drug Prescribers and Nurse Prescribers.

ODS obtain consultant data from the NHS Workforce (ESR), further information is available in the ODS Reference Data Catalogue re data sources/update frequency etc:
Organisation Data Service : Hospital Consultants

To return a list of hospital consultants at Leeds Teaching Hospital (ODS code: RR8) for example, you would need to submit a POST:

https://api.service.nhs.uk/organisation-data-terminology-api/fhir/ValueSet/$expand

And in the Body:
{
“resourceType”: “Parameters”,
“parameter”: [
{
“name”: “valueSet”,
“resource”: {
“resourceType”: “ValueSet”,
“compose”: {
“inactive”: true,
“include”: [

                    {
                        "system": "https://digital.nhs.uk/services/organisation-data-service/CodeSystem/practitioner",
                        "filter": [
                            {
                                "property": "ME3",
                                "op": "=",
                                "value":  "RR8"
                            }
                           
                        ]
                    }
                ]
            }
        }
    },
    {
        "name": "activeOnly",
        "valueBoolean": false
    }
]

}

Note: ME3 is the hospital consultant relationship type – there is a different relationship type for each of the practitioner types that ODS publish data for. See Reference Data Catalogue for further information:
Organisation Data Service : Practitioner Membership

Thanks

Thank you Laura… It seems to be exactly what I need. That Practioner Membership page is very useful

Hi Ian, bit late to this but my team is currently building the Healthcare Worker API for use cases like this.
Currently in alpha and starting private beta in December. We currently have your specific use case on our roadmap for post-MVP so are likely to be releasing that feature in early 2025.
It sounds like you’re getting what you need from ODS FHIR, but if that changes in future, our API is using a wider data set (the Care Identity Service directory, so anyone with a smartcard) which is updated slightly more frequently than the corresponding data from ODS as Laura alluded to above.
If you’re interested in consuming our API once it goes live, please get in touch with myself or Catherine Ejiogu (catherine.ejiogu1@nhs.net).
Thanks
Tom