Environmental impact of inhalers - average carbon footprint per salbutamol inhaler

Below are the database queries which are used to create this measure. These are run against a copy of the BSA prescribing data which we store in Google BigQuery. We're working on making our BigQuery tables publicly available at which point it will be possible to run and modify these queries yourself. But even where code and database queries are not directly useable by others we believe it is always preferable to make them public.

Description Mean carbon impact (kg CO2e) per salbutamol inhaler prescribed
Why it matters The NHS has committed to reducing its carbon footprint by 80% by 2028 to 2032, including a shift to lower carbon inhalers.

Salbutamol metered dose inhalers (MDIs) are the single biggest source of carbon emissions from NHS medicines prescribing.

The NHS England National Medicines Optimisation Opportunities for 2023/24 identify reducing carbon emissions from inhalers as an area for improvement.

Data on carbon emissions per salbutamol inhaler can be viewed in the table here.

Tags Standard, Greener NHS, National medicines optimisation opportunities, Respiratory
Implies cost savings No
Authored by richard.croker
Checked by andrew.brown
Last reviewed 2023-09-12
Next review due 2024-09-12
History View change history on GitHub →

Numerator SQL

SELECT
     CAST(month AS DATE) AS month,
     practice AS practice_id,
     SUM( CASE WHEN bnf_code = '0301011R0AAAPAP' THEN quantity * 25.24 --Salbutamol 100micrograms/dose inhaler CFC free 
 WHEN bnf_code = '0301011R0AAAAAA' THEN quantity * 25.24 --Salbutamol 100micrograms/dose inhaler derived from CFC free version 
 WHEN bnf_code = '0301011R0AABUBU' THEN quantity * 11.79 --Salbutamol CFC free breath actuated inhaler 100 micrograms 
 WHEN bnf_code = '0301011R0AAAQAQ' THEN quantity * 0.58 --Salbutamol 200micrograms/dose dry powder inhaler derived from Ventolin Accuhaler 
 WHEN bnf_code = '0301011R0AABZBZ' THEN quantity * 0.62 --Salbutamol 100micrograms/dose dry powder inhaler derived from Easyhaler Salbutamol 
 WHEN bnf_code = '0301011R0AACBCB' THEN quantity * 3.75 --Salbutamol 100microg/dose dry pdr inhalation cart with dev derived from Salbulin Novolizer 
 WHEN bnf_code = '0301011R0AACCCC' THEN quantity * 3.75 --Salbutamol 100micrograms/dose dry pdr inhalation cartridge derived from Salbulin Novolizer 
 WHEN bnf_code = '0301011R0BEAHAQ' THEN quantity * 0.58 --Ventolin 200micrograms/dose Accuhaler 
 WHEN bnf_code = '0301011R0BEAIAP' THEN quantity * 28.26 --Ventolin 100micrograms/dose Evohaler 
 WHEN bnf_code = '0301011R0BIAFAP' THEN quantity * 11.95 --Salamol 100micrograms/dose inhaler CFC free (Teva) 
 WHEN bnf_code = '0301011R0BIAHAP' THEN quantity * 11.95 --Salamol 100micrograms/dose inhaler CFC free (Arrow) 
 WHEN bnf_code = '0301011R0BIAGBU' THEN quantity * 12.08 --Salamol 100micrograms/dose Easi-Breathe inhaler 
 WHEN bnf_code = '0301011R0BMAAAP' THEN quantity * 9.72 --Airomir 100micrograms/dose inhaler 
 WHEN bnf_code = '0301011R0BMABBU' THEN quantity * 9.72 --Airomir Autohaler 
 WHEN bnf_code = '0301011R0BWAABZ' THEN quantity * 0.62 --Easyhaler Salbutamol sulfate 100micrograms/dose dry pdr inh 
 WHEN bnf_code = '0301011R0BWABAQ' THEN quantity * 0.62 --Easyhaler Salbutamol sulfate 200micrograms/dose dry pdr inh 
 WHEN bnf_code = '0301011R0BXAACB' THEN quantity * 3.75 --Salbulin Novolizer 100micrograms/dose inhalation powder 
 WHEN bnf_code = '0301011R0BXABCC' THEN quantity * 3.75 --Salbulin Novolizer 100micrograms/dose inhalation powder refill 
 ELSE 0 end) AS numerator
 FROM hscic.normalised_prescribing
 WHERE bnf_code IN ('0301011R0AAAPAP','0301011R0AABUBU','0301011R0AAAQAQ','0301011R0BEAHAQ','0301011R0BEAIAP','0301011R0BIAFAP','0301011R0BIAHAP','0301011R0BIAGBU','0301011R0BMAAAP','0301011R0BMABBU','0301011R0BWAABZ','0301011R0BWABAQ','0301011R0BXAACB','0301011R0BXABCC','0301011R0AAAAAA','0301011R0AABZBZ','0301011R0AACBCB','0301011R0AACCCC')
 GROUP BY month, practice_id

Denominator SQL

SELECT
     CAST(month AS DATE) AS month,
     practice AS practice_id,
     SUM(quantity) AS denominator
 FROM hscic.normalised_prescribing
 WHERE bnf_code IN ('0301011R0AAAPAP','0301011R0AABUBU','0301011R0AAAQAQ','0301011R0BEAHAQ','0301011R0BEAIAP','0301011R0BIAFAP','0301011R0BIAHAP','0301011R0BIAGBU','0301011R0BMAAAP','0301011R0BMABBU','0301011R0BWAABZ','0301011R0BWABAQ','0301011R0BXAACB','0301011R0BXABCC','0301011R0AAAAAA','0301011R0AABZBZ','0301011R0AACBCB','0301011R0AACCCC')
 GROUP BY month, practice_id
Feedback