Opioid-containing medicines (inhalation- excluding drugs for substance misuse) - Pseudo BNF

PH3600 / 8690

OpenSAFELY

Jan 26, 2026

REGISTERING DOI...

OpenCodelists Phenotype
  1. Overview

    Codelist ID
    opensafely/opioid-containing-medicines-inhalation-excluding-drugs-for-substance-misuse
    Version ID
    7eee8fef
    Coding System
    BNF codes
    Collections
    OpenCodelistPhenotype Library
    Tags
    No data
  2. Definition

    This codelist was taken from OpenCodelists, created by OpenSAFELY. We recommend viewing this Phenotype on the OpenCodelist website to view the most recent version.

    All opioid-containing products which are given via inhaled route of administration, EXCLUDING products listed in section 4.10 (substance misuse) of the legacy BNF code structure. Drugs outside of this, but not included in "opioid analgesics" in the BNF ARE included (e.g. co-codamol, alfentanil)

    © University of Oxford for the Bennett Institute for Applied Data Science 2025. This work may be copied freely for non-commercial research and study.

  3. Methodology

    A modified version of the SQL used to create the measure definition for the opioid OME measure on OpenPrescribing was created.

    The prescribing data table was replaced with the BNF hierarchy table, and code that related to calculating the OME was removed, leaving only identification of products containing opioids, as defined in the measure definition.

    The SQL can be found on the Github issue for this codelist (listed in the references).

    These codes were then filtered to only include inhaled route of administration.

  4. References

  5. Clinical Codelist

  6. API

    To Export Phenotype Details:

    FormatAPI
    JSON site_root/api/v1/phenotypes/PH3600/version/8690/detail/?format=json
    R Package

    # Download here

    library(ConceptLibraryClient)


    # Connect to API

    client = ConceptLibraryClient::Connection$new(public=TRUE)


    # Get details of Phenotype

    phenotype_details = client$phenotypes$get_detail(
     'PH3600',
     version_id=8690
    )

    Py Package

    # Download here

    from pyconceptlibraryclient import Client


    # Connect to API

    client = Client(public=True)


    # Get details of Phenotype

    phenotype_detail = client.phenotypes.get_detail(
     'PH3600',
     version_id=8690
    )

    To Export Phenotype Code List:

    FormatAPI
    JSON site_root/api/v1/phenotypes/PH3600/version/8690/export/codes/?format=json
    R Package

    # Download here

    library(ConceptLibraryClient)


    # Connect to API

    client = ConceptLibraryClient::Connection$new(public=TRUE)


    # Get codelist of Phenotype

    phenotype_codelist = client$phenotypes$get_codelist(
     'PH3600',
     version_id=8690
    )

    Py Package

    # Download here

    from pyconceptlibraryclient import Client


    # Connect to API

    client = Client(public=True)


    # Get codelist of Phenotype

    phenotype_codelist = client.phenotypes.get_codelist(
     'PH3600',
     version_id=8690
    )

  7. Version History

    Version IDNameOwnerPublish date
    Opioid-containing medicines (inhalation- excluding drugs for substance misuse) - Pseudo BNF ieuan.scanlon2026-01-26 23:25