Self-Assurance Guidance
All electronic transfers of medication and allergy/intolerance information between NHS systems in England must use the Information Standards Notice DAPB4013: Medicines and Allergy/Intolerance Data Transfer. The deadline for complying with the Standard is March 2023.
To support compliance with the Standard, the self-service FHIR Support Test Tool is available from NHS Digital to assist system suppliers and NHS organisations in the technical development of their solutions. This supports development of MedicationRequest
, MedicationDispense
and MedicationStatement
FHIR Resources.
The test tool is intended to complement existing development processes and will not replace or act as the source of validation for interoperability. Suppliers and providers should work together to implement safe solutions with governance / assurance appropriate to the specific delivery.
In addition, to the support for the development of FHIR resources, the test tool supports validation for business rules for messages sent between ePMA and hospital pharmacy stock control systems.
How to access the FHIR supporting guidance materials
For additional information on the scope and purpose of the FHIR test tool as well as guidance on completing your clinical risk and safety assessment, please email medicinestandards@nhs.net and a guide will be sent to you
How to access the FHIR support test tool
Step 1: Request access to OpenTest and an OpenTest portal account
To access the test harness which is hosted by NHS Digital in Opentest, please email the platforms team at itoc.supportdesk@nhs.net confirming the following:
- Your e-mail address
- Your contact number
- Your reason for contact (e.g. Access to the Interoperable Medicines Test Harness)
The confirmation reply has an attachment with credentials and details of how to access the environment.
If your product requires integration with the NHS Spine, you will need to read the information here.
Step 2: Download OpenVPN Community
The Self-Assurance Service Desk will contact you by e-mail when the access has been arranged, and you will receive an attachment with a suffix of .opvn
- a file format designed to be opened via OpenVPN.
Navigate to the OpenVPN Community Downloads page and select the appropriate version from the available links.
The rest of this guide will cover the Windows 64-bit version.
Step 3: Import the OpenVPN Configuration
Start off by saving the
.ovpn
attachment in the e-mail sent to you by the Self-Assurance Service Desk.Then search for the OpenVPN GUI in the windows menu and click on the icon to start the service.
- An icon will appear in your taskbar. You may need to click the chevron
^
to see it.
- Right-click on the OpenVPN GUI icon and click "Import file..."
- Locate the
.ovpn
file saved from the attachment. The configuration will automatically be imported. Click "OK" when finished.
Step 4: Connect to OpenTest
- Right-click on the OpenVPN GUI icon in the taskbar and click "Connect"
- Connect to the OpenTest environment (the OpenVPN GUI icon will change colour if successful)
Step 5: Download an API client
An API client allows a user to connect to an API and provide it with additional details that may not be able to be provided from a web browser. There are a variety of different API clients available - an example few below:
It doesn't matter which one you decide to install. They will all work with the assurance tool.
Step 6: Send FHIR to the assurance tool
Setting up a collection
We recommend setting up a collection of queries to enable you to easily locate which are you need to test.
For example:
Endpoints
FHIR | Resource | Method | Url |
---|---|---|---|
R4 | MedicationRequest | POST |
http://192.168.128.27:8080/R4/MedicationRequest |
R4 | MedicationDispense | POST |
http://192.168.128.27:8080/R4/MedicationDispense |
R4 | MedicationStatement | POST |
http://192.168.128.27:8080/R4/MedicationStatement |
STU3 | MedicationRequest | POST |
http://192.168.128.27:8080/STU3/MedicationRequest |
STU3 | MedicationDispense | POST |
http://192.168.128.27:8080/STU3/MedicationDispense |
STU3 | MedicationStatement | POST |
http://192.168.128.27:8080/STU3/MedicationStatement |
Headers
Key | Value | Description |
---|---|---|
fromASID |
{value} |
This will be provided in the email from the Self-Assurance Service Desk |
toASID |
111111111111 |
A test value not authenticated by the test tool |
Accept |
application/fhir+xml |
If using xml, application/fhir+json , if json |
Content-Type |
application/fhir+xml |
If using xml, application/fhir+json , if json |
Sending FHIR
Paste the appropriate FHIR within each query into the request body
are of the API client.
Ensure that the type is apporprioately set (e.g. xml
or json
).
Press Send.
Providing you're connected to OpenTest, and have setup the headers correctly, you will receive a 201: No Content
response from the assurance tool.
Example MedicationRequest
XML payload
<?xml version="1.0" encoding="utf-16"?> <MedicationRequest> <id value="urn:med-req-1023938" /> <status value="active" /> <intent value="order" /> <category> <coding> <system value="http://terminology.hl7.org/CodeSystem/medicationrequest-category" /> <code value="inpatient" /> <display value="inpatient" /> </coding> </category> <medicationReference> <reference value="urn:medication-38769117" /> <display value="Amoxicillin" /> </medicationReference> <subject> <reference value="urn:patient-011223344" /> <display value="Mrs Anne Teak" /> </subject> <authoredOn value="2020-05-15T15:00:00Z" /> <requester> <reference value="urn:staff-1112" /> <display value="Dr Maikeu Well" /> </requester> <recorder> <reference value="urn:staff-1112" /> <display value="Dr Maikeu Well" /> </recorder> <dosageInstruction> <timing> <repeat> <frequency value="3" /> <period value="1" /> <periodUnit value="d" /> </repeat> </timing> <route> <coding> <system value="http://snomed.info/sct" /> <code value="26643006" /> <display value="oral" /> </coding> </route> <doseAndRate> <doseQuantity> <value value="500" /> <unit value="milligram" /> <system value="http://unitsofmeasure.org" /> <code value="mg" /> </doseQuantity> </doseAndRate> </dosageInstruction> <substitution> <allowedBoolean value="false" /> </substitution> </MedicationRequest>
Step 7: The conformance report
The assurance tool does not currently provide the output in the response body. Instead, it will send you an e-mail with two attachments.
- A log file containing what the assurance tool received
- A HTML file containing a report
The report will containing the following information:
- Date and time the report was generated
- Information pertanining to the rulset used for the validation
- A high-level summary containing number of files checked, passes and failures
- A results table by element and whether present.
Example output
Element required for MVP | Element present in Test Message |
---|---|
id | true |
status | false |
intent | false |
category | true |
priority | true |
medication | true |
subject | true |