Symptoms: pain

PH3767 / 8910

OpenSAFELY

Jan 26, 2026

REGISTERING DOI...

OpenCodelists Phenotype
  1. Overview

    Codelist ID
    opensafely/symptoms-pain
    Version ID
    71385a33
    Coding System
    SNOMED CT 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.

    Code list aiming to identify individuals consulting complaining of pain.

    © 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

    Identified from initial search terms outside of OpenCodelists: "pain" "ache" "myalgia" "arthralgia" "sore" "tender" "stiff" "lumbago" "rheumatism" "joint" "fibromyalgia" "arthritis" "arthropathy" "tendinitis" "tendinopathy" "epicondylitis" "synovitis" "enthesitis" "bursitis" "epicondylitis" "enthesopath" "rotator cuff syndrome" "sprain" "strain" "crick" "arthrosis" "capsulitis" "sciatica" "algia" "radiculitis" "radiculopathy"

    Clearly irrelevant codes excluded (not reviewed by a second clinician)

    Candidate codelist reviewed outside OpenCodelists by two clinicians. As we reviewed our candidate codelist outside openCodelists, we did not benefit from the tree structures that might have identified additional codes. However, we assume that these are likely to be codes that are not used frequently, e.g., eponymous syndromes.

    Aiming to identify any symptoms/diagnosis that likely present with pain. So, have included all osteoarthritis, other unspecified arthritis, tendinitis, bursitis, strains, sprains, enthesitis, etc, as these are likely to present with pain and diagnoses will often be made on the spot.

    Excluded joint instability or joint stiffness as these symptoms do not necessarily indicate pain.

    Excluded terms suggest clear cause for symptoms, e.g., acromegaly with arthropathy, postthoracotomy pain, familial/hereditary conditions.

    Excluded terms about pain management/referral/monitoring. As unclear if pain treated and resolved.

    Excluded structural tears, contractures and ruptures as implies traumatic cause.

    Excluded all 'history of xxx' codes, as does not imply that pain symptoms are still present.

    Excluded non-specific 'joint disorder' or 'joint derangement' or 'stiffness' codes, as do not necessarily suggest pain is present.

    Retained ear pain even though it is included in a separate list in this study, as the whole pain list also includes pains in other specific anatomical sites (e.g., face, chest, etc). That is, list is not restricted to musculoskeletal pain only, as it can be difficult to differentiate between musculoskeletal and referred visceral pain when an individual initially presents with symptoms.

  4. References

  5. Clinical Codelist

  6. API

    To Export Phenotype Details:

    FormatAPI
    JSON site_root/api/v1/phenotypes/PH3767/version/8910/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(
     'PH3767',
     version_id=8910
    )

    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(
     'PH3767',
     version_id=8910
    )

    To Export Phenotype Code List:

    FormatAPI
    JSON site_root/api/v1/phenotypes/PH3767/version/8910/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(
     'PH3767',
     version_id=8910
    )

    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(
     'PH3767',
     version_id=8910
    )

  7. Version History

    Version IDNameOwnerPublish date
    Symptoms: pain ieuan.scanlon2026-01-26 23:33