0. References
ODS Lookup API: Organization |
ODS Reference: NHS Digital ODS Offical Site |
Architecture Patterns: Shared Repository |
1. Overview
Within the NHS, there is a requirement to identify organisations across the Health and Social Care landscape. The Organisation Data Service (ODS) provides access to the repository of publishing codes that identify these organisations and provide valuable information that can reduce administration and improve data quality. ODS provides 3 file types:
- Full files which provide a complete snapshot of all organisations.
- Quarterly amendments provide amended or new records over a three month period.
- Monthly amendments provide amended or new records over a one month period.
ODS Lookup API provides an API using a RESTful interface following a resource API pattern to provide access to the Organisational Data Service (ODS) database.
This is particularly suited to:
- A health portal securely exposing organisational information to browser based plugins.
- Medical devices which need to access organisational information.
- Mobile devices used by physicians which need to establish organisational information.
- Web based EPR/EHR applications which wish to provide dynamic updates of organisation details.
- Any low resource application which exposes organisational search functionality.
- A facade providing a simple API to a complex interface.
2. Client Organisation Search
2.1 Foundation
The ODS API Lookup can use any of the search parameters defined in the ODS Lookup API.
What we have just described is shown in the diagram below. When entering the url an ODS Lookup FHIR Query is performed and an ODS Lookup response is returned with an XML body and a HTTP response code.
3. Search Parameters
Examples of using different technologies to perform a search.
Parameter | Parameter Type | Description | HAPI Java | C# .NET | cURL |
---|---|---|---|---|---|
_id /identifier |
token |
Search for ODS records based on their logical or business identifier | |||
_lastUpdated |
date |
Search for ODS records based on their last updated date | |||
name |
string |
Search for ODS records based on their name, including modifiers. | |||
active |
token |
Search for ODS records based on their status, active or inactive. | |||
address-postalcode |
string |
Search for ODS records based on their address postcode | |||
address-city |
string |
Search for ODS records based on their address city | |||
ods-org-role |
token |
Search for ODS records based on their role | |||
ods-org-primaryRole |
token |
Search for ODS records based on their primary role | |||
_count |
number |
Control the number of results returned per page | |||
_summary=count |
string |
Return a count of the matching resources |
3.1 Search using ODS Code
To search for ODS records based on their logical or business identifier.
3.1.1 HAPI Java
3.1.2 C# .NET
3.1.3 cURL
3.2 Search using last updated date
To search for ODS records based on their last updated date.
3.2.1 HAPI Java
3.2.2 C# .NET
3.2.3 cURL
3.3 Search using name
To search for ODS records based on their name, including modifiers.
3.3.1 HAPI Java
3.3.2 C# .NET
3.3.3 cURL
3.4 Search using active status
To search for ODS records based on their status, active or inactive.
3.4.1 HAPI Java
3.4.2 C# .NET
3.4.3 cURL
3.5 Search using address postcode
To search for ODS records based on their address postcode.
3.5.1 HAPI Java
3.5.2 C# .NET
3.5.3 cURL
3.6 Search using address city
To search for ODS records based on their address city.
3.6.1 HAPI Java
3.6.2 C# .NET####
3.6.3 cURL
3.7 Search using Organisation role
To search for ODS records based on their role.
3.7.1 HAPI Java
3.7.2 C# .NET
3.7.3 cURL
3.8 Search using an Organisations primary role
To search for ODS records based on their primary role.
3.8.1 HAPI Java
3.8.2 C# .NET
3.8.3 cURL
3.9 Search and limit the results per page
With the scale of the ODS data, the results returned from certain queries could be extensive and require a method for browsing the details returned. It is possible to control the number of results returned using the _count parameter.
3.9.1 HAPI Java
3.9.2 C# .NET
3.9.3 cURL
3.10 Search and return a count
Just return a count of the matching resources, without returning the actual matches