Executive Summary
The purpose of this document is to provide instruction to informatics personnel within provider NHS organisations and IT software suppliers (inhouse and commercial), regarding file creation and submission of the Systemic Anti Cancer Therapy (SACT) data set.
This document describes the standards for file submission, including the double quote, comma-separated values (.csv) construction and file naming to facilitate uploading onto the National Disease Registration Service (NDRS) application programming interface (API) portal. In addition, it provides assurances that the proposed approach supports the implementation of DAPB1533 Amd 20/2025.
This is an update to an existing information standard DCB1533 Amd 80/2018. This is required to ensure that the data set still meets the business objectives, scope and content of the standard and continues to be clinically accurate and relevant.
To maintain the clinical accuracy, it is important to regularly review SACT with clinical experts from across the NHS. Occasionally, other information standards have specific data items which interact with SACT. Where this happens, the Head of Cancer Datasets has liaised with the developers of those standards, to ensure all data items remain accurate and are updated.
Finally, extensive reviews have been held with both the NHS Data Model and Dictionary Service and the Data Design Authority, as well as experts within the classification and terminology teams within NHS England. These reviews have ensured that all data items now meet the national standards and expectations for effective data set design within the NHS.
Version Control
Amendment History
|
Version(s) |
Date |
Amendment History |
|---|---|---|
|
SACT v4.0 |
24 June 2025 |
Final edited version for publication |
|
SACT v4.0 |
11 July 2025 |
Updated URL's |
|
SACT v4.0.1 |
18 Sept 2025 |
Corrected column header table to join and report data item '53 - Daily Total Dose Per Administration' as one item |
Introduction
This document provides technical guidance to support providers of cancer services, e-prescribing management and IT software developers in the submission of the SACT data set. It should be read in conjunction with the following documents (web links are embedded within the titles):
- requirements specification
- change specification
- implementation guide
- data set v4.0
- technical guidance
- information standard notice
- SACT v4.0 user guide
New and existing users may also wish to read the SACT implementation Guide v4.0, which provides additional support on the implementation of the changes within the data set and standard.
Please note that over time versions may change, therefore, it is recommended to check that you are always referencing the latest issues of any document. The SACT webpage on the NDRS website and the NHS England’s information standards website (linked above), will host the latest versions of these documents.
This is a change to the existing data set and the process was clinically reviewed, validated and updated by experts in all fields of oncology, to provide a clinically sound set of data to be collected from April 2026.
Providers of SACT services are required to provide monthly returns on all patients using this data set. Submissions are made to the NDRS (API) portal.
The required format for submissions for SACT is comma separated values (.csv), with a text delimiter set to the double-quote character, to allow the use of commas in data values. Upon receipt, patient level data is validated and linked with existing records as appropriate.
Help and Support
Implementation of the Standard is carried out by the National Disease Registration Service (NDRS), technical queries regarding implementation should be raised in the first instance to your regional Data Liaison staff at your local NDRS office.
NDRS Data Liaison team
The Data Liaison team within the National Disease Registration Service (NDRS) has a wealth of knowledge on cancer pathways and processes within NHS Trusts. NHS teams submitting data to NDRS can seek advice, support and find out more about the data improvement initiatives available to them, directly from the regional Data Liaison Managers.
General submission principles
To help and support you with your data submissions, the following list of key submission principles has been created:
- providers MUST only submit data relating to patients for whom they have provided treatments
- all SACT files MUST be submitted via the API portal
- all data files should be uploaded as early as possible within the reporting month of the ‘trigger event’ for each treatment
- this will allow plenty of time to fix any errors and map regimens
- uploading on the last day, will mean that the Trust may not have enough time to fix errors and therefore could be non-compliant for various measures
- the data set is divided into sections, each of which represents an activity or related group of activities along the treatment pathway
- individual records MUST contain the section ‘linkage – patient identity details’
- providers should aim to complete all the relevant data items as soon as possible, however if the mandatory fields (linkage items) are completed, the record can be submitted
- records in each submission MUST include all applicable sections
- demographic section MUST be submitted by each provider on the first submission of a record
Note:
- all data MUST be submitted to SACT in csv format only
Data extraction in CSV format
Data files are required to be submitted monthly, using the 2-month schedule, for example: submissions of September 2025 activity data (01-09-2025 to 30-09-2025) must be uploaded as follows:
- 1 to 30 November 2025
- files containing September data MUST be uploaded to the portal and all errors on the file MUST be resolved
- by 15 December 2025
- regimen mapping MUST be completed
- this process can start at any point once the file has been uploaded
- by 31 December 2025
- all regimen queries MUST be resolved, and the file MUST be submitted
Note:
- this upload schedule will continue to apply to all future months
Below is a SACT monthly activity diagram…

Notes:
- all provider Trusts are advised to upload as early as possible in the month as this will allow more time to fix any errors
- uploading on the last day will mean that there may not be enough time to fix any errors and therefore Trusts may become ‘non-compliant’ for various measures
- uploading earlier in the month will allow more time for regimen mapping if needed
Data will be extracted from electronic prescribing systems and other electronic systems, by system software suppliers working with local IT staff in constructing extraction routines.
The database import process requires files to be in a consistent format as outlined below:
- extracted data files MUST be in a single Comma Separated Values (CSV) file only, with a .csv file extension
- a CSV file template will be available from the NDRS team for data suppliers and software system developers
- CSV files MUST be of the windows type rather than UNIX, with carriage returns at the end of each line as well as linefeeds
- none of the data are case sensitive, excluding the row headers
- CSV files MUST be saved with a text delimiter set to the double-quote character to allow the use of commas in data values
- all dates MUST be in a consistent date format in all the SACT data files submitted for example ccyy-mm-dd
- each file MUST have a consistent (standard) header row within all the files submitted by the Trust
Note:
- it will not be possible to upload a file with any errors, all errors MUST be corrected before the file can be submitted
API upload portal
All data must be uploaded onto the NDRS API portal, and this technical document provides additional information on this upload process.
This includes information on:
- general submission principals
- data extraction in csv format
- SACT column header convention in csv format
- file submission via the EnCORE API
In addition, there is information on data submissions and file naming convention, such as:
- data items that should be submitted
- validations
- reporting
SACT Column Header Convention in CSV Format
The first row of the CSV file should consist of the column headers with the column names in exactly the format shown below (that is including underscore characters). CSV files should contain only (and all) the following column headers in the following order, regardless of the data items that can be supplied.
The mapping of data set items is shown by the column number.
|
Column Header |
Column Number |
Data Set Item Number |
|---|---|---|
|
Linkage - Patient Identity Details (1..1) |
|
|
|
Choice 1 – Linkage Identifier (1..2) |
|
|
|
NHS_Number |
1 |
1 |
|
Choice 2 – Linkage Identifier (1..2) |
|
|
|
Local_Patient_Identifier |
2 |
44 |
|
End of Linkage Identifier Choice |
|
|
|
NHS_Number_Status_Indicator_Code |
3 |
43 |
|
Person_Birth_Date |
4 |
2 |
|
Organisation_Identifier_(Code_Of_Provider) |
5 |
9 |
|
Demographics And Care Professional Details (0..1) |
|
|
|
Person_Family_Name |
6 |
45 |
|
Person_Given_Name |
7 |
46 |
|
Person_Stated_Gender_Code |
8 |
47 |
|
Patient_Postcode |
9 |
5 |
|
Start of Section – Care Professional (Initiating Treatment) (0..1) |
|
|
|
Professional_Registration_Issuer_Code_-_Care_Professional_(Initiating_Treatment) |
10 |
62 |
|
Professional_Registration_Entry_Identifier_-_Care_Professional_(Initiating_Treatment) |
11 |
63 |
|
End of Section – Care Professional (Initiating Treatment) |
|
|
|
Consultant_Specialty_Code |
12 |
8 |
|
Clinical Status (0..1) |
|
|
|
Choice 1 – Diagnosis Choice (1..2) |
|
|
|
Primary_Diagnosis_(ICD-10) |
13 |
10 |
|
Choice 2 – Diagnosis Choice (1..2) |
|
|
|
Morphology_ICD-O |
14 |
11 |
|
End of Diagnosis Choice |
|
|
|
Diagnosis_Code_(SNOMED_CT) |
15 |
48 |
|
Regimen (0..1) |
|
|
|
Treatment_Context |
16 |
65 |
|
Intent_Of_Treatment |
17 |
15 |
|
Choice 1 – Curative Line of Treatment (1..1) |
|
|
|
Curative_Line_Of_Treatment |
18 |
66 |
|
Choice 2 – Non-Curative Line of Treatment (1..1) |
|
|
|
Non-Curative_Line_Of_Treatment |
19 |
67 |
|
End of Line of Treatment Choice |
|
|
|
Regimen |
20 |
16 |
|
Height_At_Start_Of_Regimen |
21 |
17 |
|
Weight_At_Start_Of_Regimen |
22 |
18 |
|
Performance_Status_At_Start_Of_Regimen_-_Adult |
23 |
50 |
|
Date_Decision_To_Treat |
24 |
21 |
|
Start_Date_Of_Regimen |
25 |
22 |
|
Clinical_Trial |
26 |
23 |
|
Chemoradiation |
27 |
24 |
|
Start of Section - Regimen Modification (0..1) |
|
|
|
Regimen_Modification |
28 |
68 |
|
Reason_For_Regimen_Modification |
29 |
69 |
|
Reason_For_Regimen_Modification_-_Patient_(Clinical)_Factors |
30 |
70 |
|
Toxicity_Grade_(Regimen_Modification) |
31 |
71 |
|
End of Section - Regimen Modification |
|
|
|
Cycle (0..*) |
|
|
|
Cycle_Number |
32 |
26 |
|
Start_Date_Of_Cycle |
33 |
27 |
|
Weight_At_Start_Of_Cycle |
34 |
28 |
|
Performance_Status_At_Start_Of_Cycle_-_Adult |
35 |
51 |
|
Start of Section - Cycle Modification (0..1) |
|
|
|
Cycle_Modification |
36 |
72 |
|
Reason_For_Cycle_Modification |
37 |
73 |
|
Reason_For_Cycle_Modification_-_Patient_(Clinical)_Factors |
38 |
74 |
|
Toxicity_Grade_(Cycle_Modification) |
39 |
75 |
|
End of Section - Cycle Modification |
|
|
|
Start of Section - Cycle Delay (0..1) |
|
|
|
Cycle_Delay |
40 |
76 |
|
Reason_For_Cycle_Delay |
41 |
77 |
|
Reason_For_Cycle_Delay_-_Patient_(Clinical)_Factors |
42 |
78 |
|
Toxicity_Grade_(Cycle_Delay) |
43 |
79 |
|
End of Section - Cycle Delay |
|
|
|
Drug Details (0..*) |
|
|
|
Drug_Name |
44 |
31 |
|
Daily_Total_Dose_Per_Administration |
45 |
32 |
|
Administration_Measurement_Per_Daily_Total_Dose |
46 |
53 |
|
Start of Section – Administration Measurement Per Daily Dose (0..*) |
|
|
|
Administration_Measurement_Per_Daily_Total_Dose |
46 |
53 |
|
Other_-_ Administration_Measurement_Per_Daily_Total_Dose |
47 |
54 |
|
End of Section – Administration Measurement Per Daily Dose |
|
|
|
Unit_Of_Measurement_(SNOMED_CT_DM+D) |
48 |
55 |
|
SACT_Administration_Route |
49 |
33 |
|
Route_Of_Administration_(SNOMED_CT_DM+D) |
50 |
56 |
|
Choice 1 – Administration Date Choice (1..1) |
|
|
|
Administration_Timestamp_(Infusion) |
51 |
80 |
|
Choice 2 – Administration Date Choice (1..1) |
|
|
|
Administration_Date_(Oral_Drug_Dispensed) |
52 |
81 |
|
End of Administration Date Choice |
|
|
|
Cycle_Length_In_Days |
53 |
82 |
|
Number_Of_Cycles_Administered_(On_A_Named_Day) |
54 |
83 |
|
Organisation_Identifier_Of_SACT_Administration |
55 |
35 |
|
Start of Section - Dose Modification (0..1) |
|
|
|
Dose_Modification |
56 |
84 |
|
Reason_For_Dose_Modification |
57 |
85 |
|
Reason_For_Dose_Modification_-_Patient_(Clinical)_Factors |
58 |
86 |
|
Toxicity_Grade_(Dose_Modification) |
59 |
87 |
|
End of Dose Modification Choice |
|
|
|
Outcome (0..*) |
|
|
|
End_Of_Regimen_Summary |
60 |
88 |
Notes:
- CSV files should not be compressed or packaged in any way
- the addition of sections, choices and unique data sections have been added above, to support developers but are not needed in the upload file
Cardinality
It is important to remember that each section and data item within the data set is controlled by its own published cardinality rule. This will help you understand the relationship each section or data item has within the overall file. There is a range of cardinality within the data set, these are at both the section and data item level.
Section level cardinality:
- (1..1) this indicates that the section is mandatory and ‘must be one occurrence per record’
- (1..2) this indicates that the section is mandatory and there ‘must be at least one of the following choices per record’
- (0..*) this indicates that the section is required and ‘may be multiple occurrences per submission’
- (0..1) this indicates that the section is required and ‘may be up to one occurrence per record’
Data item level cardinality:
- (1..1) this indicates that the data item is mandatory and must be submitted
- (1..*) this indicates that the data is mandatory and that multiple selections are allowed to be reported
- (0..1) this indicates that the data item is required/optional
- (0..*) this indicates that the data is required/optional, but that multiple selections are allowed to be reported
Notes:
- if a data item is ‘Mandatory’ it MUST be submitted
- if a data item is ‘Required’, then you only submit that data if it is available and applicable to the patient, regimen, cycle, drug or outcome, as defined by their treatment pathway
- throughout the data set there are ‘choices’, these will help select only the data required or that is applicable to the patient and improve data quality
Recording of multiple attributes
Where there are data items with a cardinality on (0..*) or (1..*), these will be reported within the exported .csv file using a comma between each ‘National Code’ attribute.
For example:
- End_Of_Regimen_Summary
- this data item has eight attributes, where there is more than one value to be reported, these would be recorded within the .csv file (using the double quote, comma separated values), as follows:
- “1,3,6,8”,
- this data item has eight attributes, where there is more than one value to be reported, these would be recorded within the .csv file (using the double quote, comma separated values), as follows:
File submission via the EnCORE API
When a CSV file is ready for submission to SACT, it is important to note that all data submissions must be uploaded via the NDRS API portal. The regional NDRS offices or data liaison managers will allocate providers with the relevant recipient account to enable this process.
It is recommended to gain optimal performance to use Microsoft Edge, Firefox, Safari or Chrome, via either a PC or MAC. However, a Health and Social Care Network (HSCN) connection is required.
The URL for the web portal is https://nww.api.encore.nhs.uk/users/sign_in, and the portal requires each registered user to agree to the site’s terms and conditions. User logins are held within the repository database, along with encrypted passwords for authentication.
Once users have logged into the portal, there are several steps required to complete each upload as follows:
Step 1 – Upload the .csv file to the portal
Click ‘New Upload’ on the top menu bar. You are then presented with a new screen where you are required to update 5 upload questions as follows:
- Provider
- enter you Trust name
- File type
- select Systemic Anti Cancer Therapy – SACT
- File
- click the ‘select file for upload button’ and select your file
- Date
- type the date of activity in file
- Notes
- type any notes applicable in the free text field
Now click ‘Upload’ – file progress is shown in the ‘Actions’ tab. Once the file has been uploaded, a unique password is generated for each batch. This password MUST be saved before clicking off the page.
Notes:
- this is a one-time-only password, which cannot be re-generated or accessed by the NDRS staff
- this password must be used to access the portal reporting
- the only way to access portal reporting if this password is not recorded is to delete the file and reload the file again
Step 2 – View errors on the portal
To view the errors, click on the ‘Batch Report’, within the ‘Actions’ tab. This will show you an error summary, highlighting the severity of the error. For example:
- critical error
- cannot be mapped or local error
- can be mapped
Note:
- a regimen mapping can only be completed by registered mappers
This screen also explains:
- the field with error
- a description of the error
- the current field value and an ability to map from here
Notes:
- critical errors cannot be mapped and must be fixed at source
- the file must then be re-loaded to the portal
- steps 1 and 2 must then be repeated
Step 3 – Critical errors
For critical errors, delete the file and correct errors on local system/file and re-upload to the portal. Where applicable, map incorrect values to the national standard through the portal.
Finally, review and internally approve data being submitted, with the help of the reports on the portal.
Step 4 – Map regimens
Map all outstanding regimens on the file
Step 5 – Correct ‘queried’ regimens
Correct any ‘queried’ mapped regimens.
Step 6 – Submit file to data set
Once there are no remaining errors, unmapped regimens or queries on the regimen mapping, then the file can be submitted to the data set.
Data submissions and file naming convention
The following naming convention will be used for all submissions:
- UnitID-ccyymmdd-ccyymmdd.csv where:
- ‘UnitID’ is an agreed unique identifier for the supplying SACT provider, and it should also match the user login’s unit code
- ‘ccyymmdd’ is the start date of the data (date of the earliest treatment), followed by
- ‘ccyymmdd’, which is the end date (date of final treatment)
Files are transferred using the secure web-based Hypertext Transfer Protocol Secure (HTTPS)/Secure Socket Layer (SSL) encrypted protocol, which is used daily for online shopping and online banking. No extra actions are required at the data suppliers end to establish this, apart from being on a HSCN connection.
Data items that should be submitted
All applicable data items specified as either mandatory or required in the data set should be submitted as soon as available.
The mandatory, required, optional or pilot (M/R/O/P) column indicates the recommendation for the inclusion of data.
- M = Mandatory:
- these data items are mandatory
- the record or part of the record cannot be submitted if the mandatory data items are not completed
- the file will be rejected if the mandatory linkage items are absent and/or sections will be omitted where mandatory items are missing, even if other data items are completed
- R = Required:
- these data items are required as part of NHS business rules and must be included where available or applicable
- however, the section can be submitted without completing all the required items
- O = Optional:
- these data items can be included at the discretion of the submitting organisation and their commissioners as required for local purposes
- there are no optional data items in SACT v4.0
- P = Pilot:
- these data items are only required by the Trusts who have agreed to be part of the pilot phase or where the data item is a pilot within SACT, but covers a specific area
- there are no pilot data items in SACT v4.0
Validation
The data will be validated within the API according to a set of rules. If the data validation rules are not met, the whole or relevant parts (data set sections or records) of the extract may be rejected and returned to the provider. All fields will be validated against both:
- the information standard, to ensure that mandated fields are submitted
- the NHS Data Model and Dictionary, to ensure that only valid attributes, formats, patterns or ranges are submitted (where applicable)
An indication of the areas which require attention will be provided in the form of an error report on screen.
The provider will be expected to resolve any errors/issues or add missing data and re-extract the file for sending to the API portal (critical errors only), by the end of the reporting month for re-valuation. For example:
- the turnaround time for valuation, any re-submission and subsequent re-valuation is set to the end of the first reporting month
- regimen mapping must be completed within 15 days of the following month
- all regimen queries must be resolved and the file submitted by the end of that month
It is good practice to identify the areas which require attention prior to submission in the form of check reports, outlining if there are key (mandatory) fields missing. This can be in the form of an error report or other explanation, allowing correction to prevent the records from being rejected.
Equally a warning message could be created and displayed on the screen, where there is an attempt to save a record on a system without the mandatory data items.
Reporting
Providers should contact either there regional NDRS office or their local data liaison manager to request data they require, which are not made available via standardised reporting. It is important to note, that each request will be individually assessed, and certain Patient Identifiable Data (PID) is not available.
Last edited: 18 September 2025 11:29 am