This metadata has been produced by the Honest Broker Service.
All queries can be forwarded to: HonestBrokerService@hscni.net
1. Introduction
The Enhanced Prescribing Database (EPD) is a comprehensive electronic dataset established by the Business Services organisation capturing information on all Health and Social Care prescriptions dispensed in community pharmacies in Northern Ireland and submitted to the HSC Business Services Organisation (BSO) for reimbursement. The database excludes private prescriptions, items dispensed in secondary care, and handwritten prescriptions that cannot be electronically scanned. In 2024/25, there were 508 community pharmacies serving a population of approximately 1.9 million people. Prescribing data from January 2010 onwards are available for research use via the Honest Broker Service. This metadata document provides detailed information on all variables from 2017 onwards; however, data prior to 2017 are also available, and further information can be provided by the HBS team upon request.
Prescription forms contain a large 2D barcode containing patient identifiers (including the Health and Care Number, HCN), prescriber and GP practice details, and prescribed item information; and a smaller barcode containing prescriber details, form type, and a unique prescription reference number. Only the 2D barcode contains the information required for patient‑level data linkage.
Prescriptions are issued by GPs and presented by patients to community pharmacies, where the 2D barcode is scanned and the dispensed items are endorsed by the pharmacist. Pharmacies submit prescriptions to BSO twice monthly for reimbursement. On receipt, prescriptions are scanned to capture an image and extract barcode data. Where scanning is successful and auto‑coding rules are met, drug information is automatically coded. If scanning fails or auto‑coding rules are breached, drug details are entered manually by BSO staff. Auto‑coding was introduced in April 2012 and now accounts for approximately 68–70% of prescriptions; prior to this, all drug data were manually entered.
If the 2D barcode is not successfully read, the HCN is not captured, preventing linkage to other datasets. In such cases, only the information required for payment processing is recorded within the Electronic Prescription and Eligibility System (EPES). The scan rate and the research implications of unsuccessful scanning and manual coding are described in further detail in the Data Quality section below.
Further detail on the services provided, processes, data uses and how to apply to access the service are available on the HBS website.
Other sources of information on prescribing data include:
2. Data Quality
Background
Where prescriptions successfully scan and meet a defined set of auto coding rules, drug and patient information are captured automatically. However, not all prescriptions can be processed through this route, giving rise to a number of data quality considerations that are relevant for research use.
Scan Rate and Manual Data Entry
Where a prescription cannot be successfully scanned, it is routed to a manual data entry process to enable reimbursement of the dispensing pharmacy. In these instances, only the drug information required for payment is recorded; patient identifiers, including the Health and Care Number (HCN), are not captured. Consequently, these prescriptions cannot be linked to other datasets (such as hospital or demographic records) for research purposes. For this reason, HCN data quality statistics presented in the Variables Available section relate to the full EPD, whereas summary statistics for all other variables are restricted to prescriptions with a valid HCN, as only these records are available for linkage and research use.
In addition, there are situations where the 2D barcode is successfully scanned and the HCN is captured, but the prescription fails one or more auto coding rules. In these cases, the drug information is entered manually, even though patient details are present in the system.
The database includes a variable ‘IsAutoCoded’ which identifies whether a prescription was auto coded (1) or not (0). This variable provides an important indicator of how the drug information was derived and is now supplied as standard in item level extracts.
Manual Coding and the Risk of Human Error
Prescriptions that are manually coded are subject to a degree of human error. Errors can arise either from incorrect chemical codes being written on the prescription by the dispensing pharmacy or from misinterpretation or data entry errors during manual processing.
These errors can lead to an incorrect drug being recorded in the pharmacy payment system compared to what was actually dispensed. While the vast majority of prescriptions are processed correctly, targeted analyses have identified evidence of miscoding within manually entered records. For example, work undertaken as part of a request relating to ADHD medication identified prescriptions recorded against age groups where such medication would not typically be prescribed (e.g. infants or very elderly patients). Review of the scanned prescription images confirmed that these cases were attributable to manual data entry errors.
To support transparency and appropriate data use, a flag indicating whether a prescription has been manually coded is included in item-level prescribing data extracts from February 2026. Researchers are strongly encouraged to consider prescribing patterns, review outliers, and seek clinical or pharmaceutical expertise where appropriate. Where feasible, research teams should avoid inferring or classifying chronic conditions on the basis of a single prescription item.
Health and Care Numbers and Linkage Limitations
The absence of Health and Care Numbers on prescriptions that fail to scan has been a longstanding limitation for research usage of prescribing data. Prescriptions without an HCN cannot be linked to other health datasets, which may introduce bias or reduce cohort completeness, particularly if non scanning prescriptions are not evenly distributed across patient groups or prescription types.
This limitation applies in particular to prescriptions that are manually coded solely to support payment, where no patient identifier was originally captured at the point of processing.
Optical Character Recognition (OCR) Initiative
To address this data gap, a major initiative has been undertaken to recover missing Health and Care Numbers using Optical Character Recognition (OCR). Digitally scanned images of prescriptions are retained for a number of years, allowing retrospective analysis.
Testing within BSO demonstrated that OCR could be successfully applied to these images to extract the Health and Care Number and store it alongside the prescription identifier. Following initial proof of concept work, a more refined process was piloted with the system supplier and Kodak.
This work demonstrated that a significant proportion of previously missing HCNs could be retrieved, resulting in a substantial improvement in data linkability. OCR derived HCNs have now been processed retrospectively back to the start of 2017 and are updated on a monthly basis. OCR HCNs are included in all HBS projects receiving data from May 2026 onwards. A flag to note which prescriptions have been harvested by OCR is included as standard in item-level datasets.
It should be noted, however, that prescriptions with OCR harvested HCNs are, by definition, prescriptions that did not originally scan and therefore have drug information that was manually coded. As such, these records may still carry a higher risk of miscoding of drug details.
3. Variables Available
HCN
Description
Health and Care Number of patient.
Format
10 digit integer.
Additional information
Available for all prescriptions that have been successfully scanned.
Includes HCNs extracted by Optical Character Recognition from January
2017. The percentage populated is significantly higher from 2017 onward
for this reason, please refer to the Scan Rate for percentage of HCNs
populated prior to 2017. OCR HCNs have been included in research
projects receiving data from May 2026 onward.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 46.09m | 45.91m | 45.19m | 44.11m | 42.81m | 42.30m | 42.54m | 41.86m | 41.51m |
| % of populated records | 95.2 | 94.6 | 94.2 | 94.8 | 94.7 | 94.0 | 92.6 | 87.1 | 90.5 |
OCR_Flag
Description
Flag to indicate if Health and Care Number was harvested via Optical
Character Recognition.
Format
Integer (1 = Yes)
Additional information
Available from January 2017 with the exception of January 2020 when
there were no prescription images available at the time of the
initiative. Variable provided as standard for item-level datasets from
May 2026.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 3.7 | 4.1 | 4.5 | 4.0 | 4.3 | 4.4 | 6.6 | 16.9 | 15.7 |
IsAutoCoded
Description
Flag to indicate if the drug information on the prescription was
auto-coded. 0 = No, 1 = Yes.
Format
Integer
Additional information
Figures provided for all prescriptions with a Health and Care Number. No
prescriptions auto-coded prior to April 2012. Variable provided as
standard for item-level datasets from February 2026.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % Records Autocoded | 87.1 | 86.5 | 85.9 | 86.7 | 87.4 | 86.4 | 83.9 | 74.8 | 74.8 |
ISSUE_DATE
Description
Issue date of prescription
Format
Date
Additional information
Will be reset to the 1st of the month where the script was unable to be
read by scanner. Figures provided for all prescriptions with a Health
and Care Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
SCAN_YEAR
Description
Year prescription was scanned at BSO and processed for payment
Format
Integer
Additional information
Figures provided for all prescriptions with a Health and Care
Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
SCAN_MONTH
Description
Month prescription was scanned at BSO and processed for payment
Format
Integer
Additional information
Figures provided for all prescriptions with a Health and Care
Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
VPID
Description
Generic DM+D code
Format
Integer
Additional information
DM+D code of the Virtual Medicinal Product. Figures provided for all
prescriptions with a Health and Care Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 99.9 | 99.9 | 99.8 | 99.8 | 99.8 | 99.8 | 99.7 | 99.8 | 99.7 |
VTM_NM
Description
Substance/Product name
Format
String
Additional information
VTM means Virtual Therapeutic Moiety. Figures provided for all
prescriptions with a Health and Care Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 93.5 | 93.3 | 93.2 | 93.0 | 92.9 | 92.8 | 92.8 | 92.8 | 92.7 |
VMP_NM
Description
Generic name
Format
String
Additional information
Name, form and strength of the Virtual Medicinal Product. Figures
provided for all prescriptions with a Health and Care Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
FORM
Description
Product form / presentation e.g. tablet, liquid etc.
Format
String
Additional information
Figures provided for all prescriptions with a Health and Care
Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 96.8 | 96.7 | 96.8 | 96.7 | 96.7 | 96.7 | 96.7 | 96.7 | 96.7 |
STRENGTH
Description
Product strength. The amount of the active ingredient that is present in
each dosage.
Format
String
Additional information
Figures provided for all prescriptions with a Health and Care
Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 91.6 | 91.5 | 91.6 | 91.8 | 91.7 | 91.8 | 91.8 | 91.8 | 91.6 |
QUANTITY
Description
The quantity of tablets, capsules, liquid etc. dispensed
Format
Integer
Additional information
Figures provided for all prescriptions with a Health and Care
Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
ATC
Description
Anatomical Therapeutic Chemical Classification System code.
Format
String
Additional information
Figures provided for all prescriptions with a Health and Care
Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 92.9 | 93.4 | 93.9 | 94.1 | 94.1 | 94.1 | 94.1 | 94.2 | 94.2 |
BNF_CHAPTER
Description
British National Formulary (BNF) chapter
Format
Integer
Additional information
BSO data is based on BNF 69. It is vital that BNF 69 is used for data
specifications due to structural changes in BNF 70 onwards (September
2015). Used to group similar products. Figures provided for all
prescriptions with a Health and Care Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
BNF_SECTION
Description
British National Formulary (BNF) section
Format
Integer
Additional information
BSO data is based on BNF 69. It is vital that BNF 69 is used for data
specifications due to structural changes in BNF 70 onwards (September
2015). Used to group similar products. Figures provided for all
prescriptions with a Health and Care Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
BNF_PARAGRAPH
Description
British National Formulary (BNF) paragraph
Format
Integer
Additional information
BSO data is based on BNF 69. It is vital that BNF 69 is used for data
specifications due to structural changes in BNF 70 onwards (September
2015). Used to group similar products. Figures provided for all
prescriptions with a Health and Care Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 78.9 | 79.2 | 79.4 | 79.7 | 79.7 | 79.5 | 79.7 | 79.9 | 80.0 |
BNF_SUB_PARAGRAPH
Description
British National Formulary (BNF) sub paragraph
Format
Integer
Additional information
BSO data is based on BNF 69. It is vital that BNF 69 is used for data
specifications due to structural changes in BNF 70 onwards (September
2015). Used to group similar products. Figures provided for all
prescriptions with a Health and Care Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 17.3 | 17.6 | 17.5 | 17.2 | 16.4 | 16.2 | 16.5 | 16.5 | 16.4 |
DDD
Description
Defined Daily Dose
Format
Integer
Additional information
The DDD is the assumed average maintenance dose per day for a drug used
for its main indication in adults. Not all medications will have a DDD
value. Figures provided for all prescriptions with a Health and Care
Number.
Data quality metrics (by year)
| Metric | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 |
|---|---|---|---|---|---|---|---|---|---|
| Number of records | 43.89m | 43.45m | 42.58m | 41.83m | 40.52m | 39.76m | 39.40m | 36.44m | 37.58m |
| % of populated records | 81.0 | 81.3 | 81.3 | 81.3 | 81.1 | 81.0 | 80.9 | 80.7 | 80.5 |
Please rotate your screen for optimal experience