Skip to main content

Vaccination Events - FHIR

Publish or receive messages about changes to a patient's vaccination details.


Sending System
Sending System
publish event
publish event
send event to all
subscribing systems
send event to all...
System B
System A
System C
manage subscriptions
manage subscriptions
Text is not SVG - cannot display A publication-subscription model using NEMS allows sharing of this information, in a controlled way, with healthcare workers in other organisations


Use this integration to publish or receive messages about changes to a patient's vaccination details, including:

  • new vaccinations
  • updated vaccination details
  • deleted vaccination details

This service currently covers childhood vaccinations up to the age of 19, and for direct care purposes only, in the context of Digital Child Health. If you'd like to use this API to publish or consume other vaccination types across all age groups, contact [email protected].

Using a publish-subscribe model, we share information about these events with healthcare workers in other organisations such as GPs, Emergency Departments and Local Authorities.

This integration uses a publish-subscribe model - the sending system publishes events to National Events Management Service (NEMS), and NEMS forwards the events to all subscribed systems via MESH.

For example, when a GP system records a vaccination, it sends an event message containing the vaccination details to NEMS. NEMS then sends the message to all healthcare workers who have subscribed to receive vaccination event messages.

Who can use this

This integration can only be used where there is a legal basis to do so.

Make sure you have a valid use case before you go too far with your development. To do this, contact us

For details of the legal basis for sharing NEMS events, see the NEMS controller catalogue.

You must do this before you can go live (see 'Onboarding' below).


This integration is in production.

Service level

This integration is a bronze service, meaning it is operational and supported only during business hours (8am to 6pm), Monday to Friday excluding bank holidays.

For more details, see service levels.


This integration uses FHIR.

It uses a publish-subscribe model.

Use our National Events Management Service (NEMS) integration to subscribe to events.

Use our MESH API to collect event messages that you subscribed to.

The message payload is based on the HL7 FHIR STU3 Messaging Implementation.

Network access

This integration is available on the internet and on the Health and Social Care Network (HSCN).

For more details see Network access for APIs.

Security and authorisation

This integration uses NEMS and MESH API which are application-restricted, meaning we authenticate the calling application but not the end user.

You can use this pattern as follows:

  • unattended (end user not present), for example as part of a back end process to check NHS numbers for data flowing from one system to another
  • attended (end user present) - in which case, you must ensure the end user is authenticated and suitably authorised locally by the calling application

In particular, this integration uses TLS-MA authentication.

It also implements authorisation controls which restrict the event types that the connecting application can subscribe to or publish.

Environments and testing

This integration uses NEMS, which is available in Opentest for early development and testing.

NEMS is also available for testing purposes in:

  • development (DEV)
  • integration (INT)
  • deployment (DEP)

The base URLs are as follows:

Environment Network availability URL
OpenTest OpenVPN
Development HSCN
Integration HSCN
Integration Internet
Deployment HSCN
Production HSCN Contact us
Production Internet Contact us

The  base URL for the publishing and subscribing interactions are the same, but the path is different, for example:

  • publish in integration over HSCN:$process-message
  • subscribe in integration over HSCN:
  • publish in integration over the internet:$process-message
  • subscribe in integration over the internet:

There is a testing tool which allows you to simulate a provider publishing event messages. You can also simulate making changes on PDS to trigger PDS-published event messages so you can test event message consumption.

To get advice on how to begin testing, contact us.

For more details, see the NEMS onboarding guide on getting access to Opentest and the integration (INT) test environment.


You need to get your software approved by us before it can go live with this integration. We call this onboarding. The onboarding process can sometimes be quite long, so it’s worth planning well ahead.

To outline your use case and start the onboarding process for this integration, contact us.


This integration uses the following MESH workflow ID:


For a full list of interactions for this integration, see Publish an Event Message and Subscriptions Overview.

This integration supports the following event types:

For details on the general structure of the interactions, see FHIR.

Last edited: 14 September 2023 6:03 pm