Care Coordination and 360 Referrals (Proof of Concept)
0.1.0 - proof-of-concept
Care Coordination and 360 Referrals (Proof of Concept) - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
IHE Mobile Care Services Discovery (mCSD) is a FHIR API for directories of organisations, sites, services, practitioners and their technical endpoints. In care coordination it answers the questions every referral starts with: who can see this patient, where, and how do I send them the referral - and, at the end of the loop, where do I send the outcome (usually the patient's GP).
360X leaves directories to the transport (Direct addresses in the US). In England there are several national directories, each covering part of the problem - see NHS England Services below.
| Actor | Description | Transactions | In the closed loop |
|---|---|---|---|
| Directory | Holds the care services resources and answers queries | [ITI-90] R; [ITI-91] O (Update Option); [ITI-130] O (Feed Option) | ODS, Directory of Services, eRS service catalogue, SDS, a regional directory |
| Query Client | Queries the Directory | Find Matching Care Services [ITI-90] R | Referral Initiator choosing a service; Referral Recipient routing an outcome back |
| Update Client | Gets changes since its last refresh, to keep a local copy | Request Care Services Updates [ITI-91] R | Trust Integration Engine or EPR caching ODS and service data |
| Data Source | Sends creates, updates and deletes to the Directory | Care Services Feed [ITI-130] R | Provider maintaining its own service profile (e.g. DoS Ingest API) |
Options: Location Distance (find Location by distance - "nearest service"),
Update and Feed (mCSD Volume 1).
mCSD covers Organization, Location (including facilities and jurisdictions), HealthcareService, Practitioner, PractitionerRole, OrganizationAffiliation and Endpoint.
| mCSD resource | This guide | Master record in England | Use in the closed loop |
|---|---|---|---|
| Organization | Organization (ODS code) | ODS | Referral Initiator and Recipient; MSH-4 / MSH-6; identifier assigners |
| Location (facility) | Location (ODS site code) | ODS (sites); wards and clinics in the trust PAS | Where the patient is seen |
| HealthcareService | HealthcareService | Directory of Services, eRS (eRS services) | The service referred to (ServiceRequest.performer) |
| Practitioner | Practitioner | Professional regulators (GMC, NMC, HCPC); SDS for Care ID holders | Requester, owner, author |
| PractitionerRole | PractitionerRole | SDS (role profiles); eRS users | Practitioner acting for an organisation (requester, performer) |
| OrganizationAffiliation | - (core) | ODS relationships (e.g. practice to ICB) | Commissioning; networks a provider belongs to |
| Endpoint | - (core) | SDS (Spine), DoS endpoints, MESH mailboxes, BaRS Endpoint Catalogue | Where the referral and status messages are delivered |
sequenceDiagram
participant RI as Referral Initiator<br/>(Query Client)
participant D as Directory<br/>(ODS, DoS, eRS, SDS)
participant RR as Referral Recipient
RI ->> D: Find HealthcareService [ITI-90]<br/>(type, specialty, location)
D -->> RI: HealthcareService, Organization, Location
RI ->> D: Find Endpoint [ITI-90]<br/>(organization / service, payload type)
D -->> RI: Endpoint (address, connection type)
RI ->> RR: Referral Request [PCC-55]
Note over RR: Later: outcome to the patient's GP
RR ->> D: Find Organization / Endpoint [ITI-90]<br/>(GP ODS code from PDS)
D -->> RR: Endpoint
RR ->> RI: Referral Outcome [PCC-57]
Directory lookups are usually made before the referral (choosing the service) and when routing (finding the endpoint). Many systems keep a local copy of ODS and their partners' services and refresh it (the Update Client).
Messages and documents identify people and organisations by code, not by full resource (see BaRS). The receiver looks the code up in a directory when it needs the details - to display the name, check the organisation is active, or find who to reply to. The examples use the cardiology referral participants.
| Code | Example | Identifies | Master record | mCSD query [ITI-90] | NHS England service today |
|---|---|---|---|---|---|
| ODS organisation code | P89020, R0A |
Organisation (GP practice, trust) | ODS | Organization?identifier=https://fhir.nhs.uk/Id/ods-organization-code|R0A |
ODS Organisation Data Terminology API - live |
| ODS site code | R0A01 (fictitious) |
Site | ODS | Location?identifier=https://fhir.nhs.uk/Id/ods-site-code|R0A01 |
ODS Organisation Data Terminology API (sites are returned as Organization) |
| GMP code (GP practitioner) | G1234567 |
A GP at a practice | ODS (GP practitioner data) | PractitionerRole?practitioner.identifier=https://fhir.hl7.org.uk/Id/gmp-number|G1234567&_include=PractitionerRole:organization |
No FHIR API - ODS bulk download (Data Search and Export) |
| GMC number | 7654321 |
Doctor (registration) | General Medical Council | Practitioner?identifier=https://fhir.hl7.org.uk/Id/gmc-number|7654321 |
No NHS England search API |
| SDS user ID | (Care ID) | NHS user (smartcard holder) | SDS | Practitioner?identifier=https://fhir.nhs.uk/Id/sds-user-id|... |
Healthcare Worker FHIR API |
A trust receives a Referral Request [PCC-55] with MSH-4 / ServiceRequest.requester
organisation P89020, and an outcome needs routing to the GP practice P89020 taken
from PDS.
identifier "can also explicitly include the CodeSystem … ods-organization-code"),
or GET /Organization/P89020 (the resource id is the ODS code). It returns name,
address, active status, roles (e.g. NHS Trust, GP practice) and relationships
(OrganizationAffiliation, e.g. the practice's ICB).active. A closed practice or merged trust is still returned - a referral or
outcome SHOULD NOT be routed to an inactive organisation._revinclude=Endpoint), SDS
(Spine / GP Connect) or MESH lookup to find how to send to it.lastChangeDate is the Update
Client pattern [ITI-91].A GP referral (HL7 v2 ORC-12 / PV1-8 referring doctor, or a Kettering / Transfer
of Care document) names the referrer as G1234567; the trust needs the GP's name and
practice.
PractitionerRole (practitioner + practice ODS code), as in
Dr Allen at HT PRACTICE.A Referral Outcome [PCC-57] is authored by a consultant identified by GMC number
7654321; the GP system wants the name, specialty and trust.
Practitioner found by SDS user ID - "we've
only included them in this API if the data is of sufficient quality" - and "cannot … search by professional codes,
such as GMC or RNC code".MFN^M02), or carried in the message as a PractitionerRole (practitioner GMC
number + organisation ODS code), as in Dr Brown, Cardiology, MFT.HL7 v2 has no directory query in common use. Master file messages carry directory data
between systems (indicative): MFN^M02 (staff / practitioner) and MFN^M05 (locations);
there is no v2 master file for services or endpoints. In 360X v2 messaging the
organisations are coded in MSH-4 / MSH-6 (ODS code) and practitioners in ORC-12 /
PRD; routing is configured in the integration engine.
Status and capability are as published in the API catalogue and OpenAPI files on the date checked (2026-11-02).
| Question | NHS England service | mCSD equivalent | Scope |
|---|---|---|---|
| Who is this organisation? (ODS code to name, address, role, relationships) | ODS - Organisation Data Terminology FHIR API | Organization, OrganizationAffiliation [ITI-90]; sync [ITI-91] |
General |
| Which service can see this patient? | Directory of Services - DoS Search API (FHIR), UEC DoS | HealthcareService [ITI-90] |
General, but data and search are mainly urgent and emergency care (NHS 111) |
| Which eRS service can I refer to? | eRS - $ers.searchHealthcareServicesForPatient (A010), HealthcareService (A033 / A035) |
HealthcareService [ITI-90] |
eRS only |
| Where is the BaRS receiver? | BaRS Endpoint Catalogue (via the BaRS Proxy) | Endpoint [ITI-90] |
BaRS only |
| Which Spine system / endpoint does this organisation use? | SDS - Spine Directory Service FHIR API | Endpoint (and Device) [ITI-90] |
Spine messaging, GP Connect |
| Who is this healthcare worker, what roles do they hold? | SDS - Healthcare Worker FHIR API | Practitioner, PractitionerRole [ITI-90] |
Care ID (smartcard) holders |
| Which MESH mailbox do I send to? | MESH - Look up MESH address | Endpoint [ITI-90] |
MESH only (Transfer of Care, GP Connect messaging) |
| Which public services are near the patient? | Directory of Healthcare Services (Service Search) | HealthcareService, Location (Location Distance) |
Public (NHS website) data |
| Which pharmacy can dispense? | EPS Directory of Services | HealthcareService, Location |
EPS only |
ODS is the master record for organisations and sites - the ODS code is the assigning authority in every identifier in this guide (Organization, Location).
GET /Organization (search by identifier, name, address-postalcode, roleCode,
active, lastChangeDate), GET /OrganizationAffiliation (relationships, by
primary-organization / participating-organization). The closest NHS England API to
an mCSD Directory. A lastChangeDate search supports a local copy, like
Request Care Services Updates [ITI-91].Organization in each message (see BaRS); ODS sites are
Locations, not Organizations, in this guide.The NHS England Directory of Services (DoS) is the master record for services in urgent and emergency care, used by NHS 111 and NHS Pathways, and increasingly for other services.
/dos-search/FHIR/R4, application-restricted): GET /Organization?identifier={ODS}&_revinclude=Endpoint
is available; GET /HealthcareService (by ODS code or service ID) and
$search-by-triage-code (NHS Pathways codes) are "published but not yet available
for use". Returns HealthcareService, Location, Organization and Endpoint
resources - an mCSD Directory in all but name. Its roadmap replaces the UEC DoS SOAP
and REST APIs and the EPS DoS API "over 2026 and 2027". Its Endpoints carry NHS 111
ITK CDA payload types and connection types itk, email, telno, http - so today
they are mainly NHS 111 post-event message routes.providedBy (ODS), location and endpoint; NHS Service Finder is the professional
web front end to DoS. Whether DoS will hold planned-care and community services
(beyond eRS) is To confirm.eRS has its own service catalogue: providers publish eRS services (bookable or
triage, with clinic types and referral criteria), identified by an eRS service ID
(http://fhir.nhs.net/Id/ers-service in the API examples). eRS specific - these
services are only reachable through eRS.
POST /STU3/HealthcareService/$ers.searchHealthcareServicesForPatient
("find services that meet the referral needs of a patient", referring clinician roles;
the patient identified first "via PDS"); Retrieve / search healthcare service A033 /
A035 GET /R4/HealthcareService; user business functions A030 GET /R4/PractitionerRole.HealthcareService.identifier alongside the ODS code of the provider.
eRS is a good reference for what a referral directory needs (service criteria,
bookable vs triage) - see NHS England Referral and Report Services."Every service receiving messages through BaRS will need their ServiceId and endpoint added to the BaRS Endpoint Catalogue. This enables the BaRS Proxy to direct messages to the service" (BaRS implementation guidance, NHSDigital-FHIR-BookingAndReferrals PR #527). Receiving services first "identify or create a service profile in a national or proprietary Directory of Service".
HealthcareService found through DoS (or another
directory); the Endpoint Catalogue is the mCSD Endpoint. Which directory BaRS
service IDs come from for each use case is To confirm - see BaRS.SDS holds accredited systems, Spine messaging endpoints and healthcare workers (people with a Care ID / smartcard).
GET /Device (accredited system, ASID, party key) and
GET /Endpoint ("routing and reliability details" - endpoint URL, MHS party key), by
organization (ODS) and identifier (interaction ID, party key). Used to find a
GP Connect provider endpoint and Spine messaging routes. It cannot "search for
organisations" or "search for people".GET /Practitioner?identifier={SDS user ID}&_revinclude=PractitionerRole -
professional details and national RBAC roles (identifiers
https://fhir.nhs.uk/Id/sds-user-id, https://fhir.nhs.uk/Id/sds-role-profile-id). It
cannot "search by professional codes, such as GMC". Not needed for the signed-in user:
CIS2 Authentication user info gives the same.MESH API
GET /messageexchange/endpointlookup/{ods_code}/{workflow_id} - "search for the mailbox
of the organisation you want to send data to, using their unique ODS code … and the
agreed workflow identifier". MESH specific: the mCSD Endpoint for Transfer of Care
and other MESH-based routes (see Exchange Options).
Directory of Healthcare Services API (previously "Service Search API", version 3; earlier versions deprecated 2 February 2026): organisations providing services "listed in NHS services near you" - GP practices, pharmacies, hospitals, dentists. Public-facing data from the NHS website, useful for patient choice and contact details, not for routing referrals.
Endpoint on the Organization or
HealthcareService (mCSD endpoint discovery, 1:46.8).