Technology
This API is an HL7 V3 API and uses:
- synchronous interactions, using HL7 V3 SOAP web services
- asynchronous interactions, using HL7 V3 ebXML messaging
The asynchronous pattern is used for interactions which either do not require an immediate response or might take longer, for example:
- prescribing system is informed of the final outcome of the cancellation request
- this is currently delivered by Spine to an MHS Endpoint and could be minutes, hours or days from the initial cancellation request
For more details, see HL7 V3.
Message Handling System (MHS) adaptor
To remove the complexity of building your own Message Handling System, we offer a pre-assured, client side MHS adaptor that you can integrate into your own infrastructure.
It makes it easier to connect to the NHS Spine and perform business operations by exposing a RESTful API that conforms to the HL7 V3 standard.
Security and authorisation
Authentication
This API is user-restricted, meaning that an end user must be present and authenticated to use it.
The end user must be:
We support the following security patterns:
- user-restricted HL7 V3 API, using NHS Care Identity Service 2 (NHS CIS2)
- user-restricted HL7 V3 API, using CIS
For more details see user-restricted APIs.
Authorisation
For some activities, the end user must be authorised to perform that activity.
The API itself does not perform any authorisation checks. Rather, the calling system is expected to perform them. The authorisation rules are specified in our national Role Based Access Control (RBAC) database.
For more details see our national Role Based Access Control (RBAC) database on the registration authorities and smartcards page.
Interactions
For a full list of interactions for this API, see the Medication Management v2.3.1 section in the Spine Message Implementation Manual (MIM) version 4.2.00.
Note that only the following interaction IDs are supported - the others were not implemented.
Section number |
Description |
Interaction ID |
6.1 |
Parent Prescription |
PORX_IN020101UK31 |
6.2 |
Parent Prescription (Non-Urgent) |
PORX_IN020102UK31 |
6.3 |
Patient Prescription Release Request |
PORX_IN132004UK30 |
6.4 |
Patient Prescription Release Response |
PORX_IN070103UK31 |
6.5 |
Nominated Prescription Release Request |
PORX_IN060102UK30 |
6.6 |
Nominated Prescription Release Response |
PORX_IN070101UK31 |
6.7 |
Prescription Release Rejection |
PORX_IN110101UK30 |
6.8 |
Dispense Proposal Return |
PORX_IN100101UK31 |
6.9 |
Cancel Request |
PORX_IN030101UK32 |
6.10 |
Cancel Response |
PORX_IN050101UK31 |
6.11 |
Subsequent Cancel Response |
PORX_IN050102UK32 |
6.12 |
Dispense Notification |
PORX_IN080101UK31 |
6.13 |
Dispense Claim Information |
PORX_IN090101UK31 |
6.15 |
Dispense Reimbursement Claim |
PORX_IN370101UK31 |
6.18 |
Dispense No Claim Notification |
PORX_IN460101UK31 |
6.19 |
Dispenser Withdraw |
PORX_IN510101UK31 |
6.21 |
Rebuild Dispense History |
PORX_IN540101UK31 |
For details on the general structure of the interactions, see HL7 V3.
Before you begin any development work using this API, contact us to discuss your best options.
Last edited: 3 May 2023 12:53 pm