Migrant

PH3571 / 8653

OpenSAFELY

Jan 26, 2026

REGISTERING DOI...

OpenCodelists Phenotype
  1. Overview

    Codelist ID
    opensafely/migration-status
    Version ID
    1f473d49
    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.

    This is a codelist of all migration-related SNOMED-CT codes that will be used create a cohort of potential migrants within the OpenSAFELY platform. The codelist captures a range of migration-related characteristics such as a non-UK country of birth, an immigration legal status, a non-English first or main language or the need for an interpreter amongst others.

    © 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

    Search strategy

    This codelist was created by expanding upon a previously published search strategy [1] to identify relevant migration-related SNOMED CT codes:

    • abroad
    • asylum
    • born in
    • countr
    • english
    • exploit
    • forced
    • humanitarian
    • illegal
    • interpreter
    • language
    • leave to remain
    • migrant
    • migrat
    • refugee
    • servitude
    • slav
    • traffick
    • victim
    • visa
    • overseas -british

    Sensitivity was prioritised over specificity.

    Review

    The codelist was discussed with two GPs who have experience of caring for migrant patients.

    Codelist updates were made following peer-review of "The coding of migration status in English primary care from 2011 to 2024: a pilot use of OpenCodeCounts" in which this codelist is used:

    • Removed anything related to being born in one of the British Crown Dependencies (Jersey, Guernsey and the Isle of Man) as the UK government is responsible for certain areas of policy.
    • Removed "Does not read English" as we are only focused on a first or main spoken language that is not English.
    • Corrected the incorrect inclusion of sign language related codes where a specific non-UK country of origin of the sign language was not mentioned.
    • Removed "Does not understand verbal language" as this could be related to non-migration related issues.
    • Included codes related to first of main language being Irish as it is more commonly spoken in the Republic of Ireland than Northern Ireland according to relevant censuses
    • include overseas visitors and international students.

    [1] Pathak N, Zhang CX, Boukari Y, et al. Development and validation of a primary care electronic health record phenotype to study migration and health in the UK. Int J Environ Res Public Health. 2021;18:13304.

  4. References

  5. Clinical Codelist

  6. API

    To Export Phenotype Details:

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

    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(
     'PH3571',
     version_id=8653
    )

    To Export Phenotype Code List:

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

    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(
     'PH3571',
     version_id=8653
    )

  7. Version History

    Version IDNameOwnerPublish date
    8658 Migrant ieuan.scanlon2026-01-26 23:24
    8657 Migrant ieuan.scanlon2026-01-26 23:24
    8656 Migrant ieuan.scanlon2026-01-26 23:24
    8655 Migrant ieuan.scanlon2026-01-26 23:24
    8654 Migrant ieuan.scanlon2026-01-26 23:24
    Migrant ieuan.scanlon2026-01-26 23:23
    8652 Migrant ieuan.scanlon2026-01-26 23:23
    8651 Migrant ieuan.scanlon2026-01-26 23:23
    8650 Migrant ieuan.scanlon2026-01-26 23:23
    8649 Migrant ieuan.scanlon2026-01-26 23:23
    8648 Migrant ieuan.scanlon2026-01-26 23:23
    8647 Migrant ieuan.scanlon2026-01-26 23:22
    8646 Migrant ieuan.scanlon2026-01-26 23:22