INT ODT FHIR R4 data set

Hi - is the source data for https://int.api.service.nhs.uk/organisation-data-terminology-api/fhir/ different from the data in NIS1 LDAP?

The reason I ask is because we are in a process of migration and we have some processes that we are not migrating that use LDAP, and our processes, that use the ODT FHIR API.

Specifically I can see a specific GP Practice present in LDAP that gets a 404 when queried by the API - is this to be expected?

# extended LDIF
#
# LDAPv3
# base <uniqueIdentifier=D82626,ou=Organisations,o=nhs> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# D82626, organisations, nhs
dn: uniqueidentifier=D82626,ou=organisations,o=nhs
objectClass: nhsGPPractice
objectClass: top
objectClass: organization
l: NORFOLK
l: NORFOLK, SUFFOLK AND CAMBRIDGESHIRE STRATEGIC HA
l: THE NORTH MIDLANDS AND EAST PROGRAMME FOR IT (NMEPFIT)
nhsCountry: England
nhsDHSCcode: Y51
nhsIDCode: D82626
nhsJoinDate: 20061001
nhsOrgOpenDate: 19900601
nhsOrgSubType: GP
nhsOrgSubType: B
nhsOrgType: GP Practice
nhsOrgTypeCode: PR
nhsParentOrgCode: 5A2
nhsPCTCode: 5A2
nhsSHAcode: Q01
nhsSyntheticIndicator: 0
o: DR CM NASH'S PRACTICE
postalAddress: ASH CLOSE$HETHERSETT$$NORWICH$NORFOLK
postalCode: NR9 3RE
telephoneNumber: 01603621872
uniqueIdentifier: D82626

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1
curl -H"apikey: <redacted>" 'https://int.api.service.nhs.uk/organisation-data-terminology-api/fhir/CodeSystem/$lookup?system=https://fhir.nhs.uk/Id/ods-organization-code&code=D82626&property=*'
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "not-found",
      "details": {
        "text": "[74a3ade2-b104-4b7b-a9b6-208453285505]: The code D82626 (https://fhir.nhs.uk/Id/ods-organization-code:2026-06-16) was not found."
      },
      "diagnostics": "[74a3ade2-b104-4b7b-a9b6-208453285505]: The code D82626 (https://fhir.nhs.uk/Id/ods-organization-code:2026-06-16) was not found."
    },
    {
      "severity": "information",
      "code": "informational",
      "diagnostics": "X-Request-Id: dca4e5cd-2279-4d1e-ad19-fee2af48a111"
    }
  ]
}

Hi Bob
In ODS, D82626 was operationally closed 30/09/2012 (the code is therefore inactive). As this closure is before our archive cut off date of 31/03/2017, the record is not present on the ODT FHIR R4 API. It will be included in the ODS XML Archive file instead (currently available via TRUD but will soon be published via ODS Data Search and Export).
I believe that org data on Spine is sourced from ODS but there have been occasional synchronisation issues over the years which have led to mismatches with some records as above.
Thanks
Laura

Hi Laura, thanks for the quick response.

So are we saying that at the point you took a first cut of the data set it must have had an nhsOrgCloseDate but that attribute must have since been removed from the CIS LDAP record (the data I posted above was from CIS’s LDAP not Spine’s replicated version, but the data is the same in both, I checked)?

I’m just trying to think of the best way for me to handle this on my end and how likely it is to happen in production (seems unlikely, seems to be a test data issue to me).

Thanks!

Bob

Hi Bob,

I think you should treat the response from the ODT API as definitive. As Laura says, if it’s different in CIS (SDS) it’s likely a timing and/or synchronisation issue.

I agree it’s probably an edge case and maybe something you only deal with if you see it causing actual problems with end users.

I think you seeing the same problem we had around test environments not being in sync.

ODT and PDS are fine on live - we are doing very similar queries

To resolve this issues we’ve created our own PDS test pack where all the ODS codes work. Feel free to use these (but please don’t update them on PDS)