Electroencephalography during acute painful procedures in neonates: a scoping review.
The 1 match
- [1] § 2. Methods › 2.5. Data extraction and variable explanation ↔ r/scripts/analyse_data.R, lines 52–135 · score 0.52 · electrode placements, variables, interventions, sex, age, clinical
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
R · 135 lines · 6.2 KB · Apache-2.0 · 1 match
- # Load required functions from external scripts
- source("functions/count_occurrences.R") # Function to count categorical variable values
- source("functions/multiple_entries_to_vector.R") # Function to split comma-separated values
- source("functions/save_figure.R") # Wrapper for saving figures to file
- source("functions/summary_stats.R") # Function to calculate summary statistics
- source("functions/plot_country_map.R") # Function to create country distribution map
- source("functions/plot_publication_year.R") # Function to plot histogram of publication years
- source("functions/export_raincloud_data.R") # Function to export CSVs for raincloud plotting
- source("functions/plot_electrode_frequencies.R") # Function to create electrode distribution map
- # Load required libraries
- library(readr) # Efficient CSV reading
- library(ggplot2) # Data visualization
- library(dplyr) # Data manipulation
- library(tidyr) # Data reshaping
- # Define the results folder for output files
- results_folder <- "results/"
- # Create results folder if it doesn't exist
- if (!dir.exists(results_folder)) {
- dir.create(results_folder)
- }
- # Load dataset from CSV file
- data_path <- "data/data_extraction_form.csv"
- df <- read_csv(data_path, show_col_types = FALSE)
- # Define consistent color scheme and font size for plots
- blue_colour <- "#AECDE1"
- axis_font_size <- 12
- # Filter dataset to include only relevant groups for descriptive figures
- df_analysis_1 <- df %>% dplyr::filter(analysis_group %in% c(1, 2, 3))
- # Generate and save country count table and map
- country_count_table <- count_occurrences(df_analysis_1$data_country, paste0(results_folder, "fig_country_count_table.csv"))
- plot_country_map(country_count_table, paste0(results_folder, "fig_country_map.pdf"))
- # Generate and save publication year plot
- years_range <- seq(min(df_analysis_1$publication_year, na.rm = TRUE),
- max(df_analysis_1$publication_year, na.rm = TRUE), by = 1)
- years_counts <- df_analysis_1 %>%
- dplyr::filter(!is.na(publication_year)) %>%
- count(publication_year) %>%
- right_join(data.frame(publication_year = years_range), by = "publication_year") %>%
- dplyr::mutate(n = replace_na(n, 0))
- plot_publication_year(df_analysis_1, paste0(results_folder, "fig_publication_year.pdf"))
- # Filter for primary analysis group (group 3)
- df_analysis_2 <- df %>% dplyr::filter(analysis_group == 3)
- # Export CSV files for external raincloud plotting in JASP
- export_single_raincloud_data(df_analysis_2)
- export_paired_raincloud_data(df_analysis_2)
- # Compute summary statistics and export summary statistics table
- summary_vars <- c("Sample Size (N)", "Age at Birth (weeks)", "Age at Study (weeks)",
- "EEG Data Loss (%)", "Males (%)", "Females (%)")
- T_summary_stats <- data.frame(
- Min = numeric(length(summary_vars)),
- Q1 = numeric(length(summary_vars)),
- Median = numeric(length(summary_vars)),
- Q3 = numeric(length(summary_vars)),
- Max = numeric(length(summary_vars)),
- row.names = summary_vars
- )
- T_summary_stats["Sample Size (N)", ] <- summary_stats(df_analysis_2$sample_size, "Sample Size (N)")
- T_summary_stats["Age at Birth (weeks)", ] <- summary_stats(df_analysis_2$pma_birth_avg, "Age at Birth (weeks)")
- T_summary_stats["Age at Study (weeks)", ] <- summary_stats(df_analysis_2$pma_study_avg, "Age at Study (weeks)")
- T_summary_stats["EEG Data Loss (%)", ] <- summary_stats(df_analysis_2$eeg_data_loss_pct, "EEG Data Loss (%)")
- T_summary_stats["Males (%)", ] <- summary_stats(df_analysis_2$sex_male_pct, "Males (%)")
- T_summary_stats["Females (%)", ] <- summary_stats(df_analysis_2$sex_female_pct, "Females (%)")
- write.csv(T_summary_stats, paste0(results_folder, "summary_stats.csv"), row.names = TRUE)
- # Generate and save electrode count table and map
- electrode_count_table <- count_occurrences(df_analysis_2$electrode_positions, paste0(results_folder, "fig_electrode_count_table.csv"))
- plot_electrode_frequencies(
- electrode_data = electrode_count_table,
- output_pdf = paste0(results_folder, "electrode_frequency_map.pdf")
- )
- # Plot and export selected categorical variables
- categorical_vars <- c("pain_procedure", "analgesic_intervention", "epoch_rej_method",
- "clinical_pain_scale", "non_eeg_recording", "electrode_placement_method")
- file_names <- c("fig_pain_procedure.pdf", "fig_analgesic_intervention.pdf", "fig_epoch_rej_method.pdf",
- "fig_clinical_pain_scale.pdf", "fig_non_eeg_recording.pdf", "fig_electrode_placement_method.pdf")
- # Plot and export selected categorical variables
- categorical_vars <- c("pain_procedure", "analgesic_intervention", "epoch_rej_method",
- "clinical_pain_scale", "non_eeg_recording", "electrode_placement_method")
- file_names <- c("fig_pain_procedure.pdf", "fig_analgesic_intervention.pdf", "fig_epoch_rej_method.pdf",
- "fig_clinical_pain_scale.pdf", "fig_non_eeg_recording.pdf", "fig_electrode_placement_method.pdf")
- for (i in seq_along(categorical_vars)) {
- var_name <- categorical_vars[i]
- file_name <- paste0(results_folder, file_names[i])
- csv_file <- gsub(".pdf", ".csv", file_name)
- count_table <- count_occurrences(df_analysis_2[[var_name]], csv_file) %>%
- dplyr::arrange(Count)
- plot_categorical <- ggplot(count_table, aes(x = reorder(Category, Count), y = Count)) +
- geom_bar(stat = "identity", fill = blue_colour, width = 0.8) + # fixed width for uniform bars
- coord_flip() +
- labs(x = "", y = "Count") +
- theme_minimal(base_size = 22) +
- theme(
- panel.grid.major.x = element_line(color = "grey85"), # keep only x-axis major gridlines
- panel.grid.major.y = element_blank(),
- panel.grid.minor = element_blank(),
- axis.text.x = element_text(size = 22, color = "black"),
- axis.text.y = element_text(size = 22, color = "black"),
- axis.title.y = element_text(size = 22),
- axis.title.x = element_text(size = 22),
- axis.line.x = element_line(color = "black"),
- axis.ticks.x = element_line(color = "black"),
- axis.ticks.y = element_blank()
- )
- # Adaptive figure sizing
- num_cats <- nrow(count_table)
- height <- max(4, 0.6 * num_cats)
- width <- 10
- ggsave(file_name, plot = plot_categorical, width = width, height = height, units = "in")
- }
analyse_data.R at commit 6ea0fdb, under Apache-2.0 · at the source
Overview
and 13 other authors
Safa Talebi20, Sonya Wang21,22, Karel Allegaert23,24,25, Jonathan M. Davis26, Mark A. Turner27,28, Robert M. Ward29, Edress Darsey30, James P. Sheppard31, Aomesh Bhatt1, John van den Anker1,32, An N. Massaro33, Kanwaljit Singh34, Rebeccah Slater134 affiliations
- Department of Paediatrics, University of Oxford, Oxford, United Kingdom
- Department of Pediatrics, Faculty of Medicine, Pelita Harapan University, Tangerang, Indonesia
- Colegio de Ciencias Biologicas y Ambientales, Universidad San Francisco de Quito USFQ, Quito, Ecuador
- Stanford Child Wellness Lab, Maternal & Child Health Research Institute, Stanford University School of Medicine, Stanford, CA, USA
- Department of Pediatrics, Stanford University School of Medicine, Stanford, CA, USA
- Department of Anesthesiology, Perioperative and Pain Medicine, Stanford University School of Medicine, Stanford, CA, USA
- Department of Anesthesiology, Critical Care and Pain Medicine, Boston Children's Hospital, Harvard Medical School, Boston, MA, USA
- Department of Anaesthesia, Harvard Medical School, Boston, MA, USA
- Division of Neonatology, Careggi University Hospital of Florence, Florence, Italy
- Biomedical Engineering Department, School of Electrical Engineering, Iran University of Science and Technology, Tehran, Iran
- Department of Electrical & Computer Engineering, The University of British Columbia, Vancouver, Canada
- British Columbia Children's Hospital Research Institute, Vancouver, Canada
- Paediatrics, Department of Clinical Sciences, Lund University, Skåne University Hospital, Lund, Sweden
- Children's Hospital, University of Helsinki, Helsinki, Finland
- Autonomous Healthcare, Santa Clara, CA, USA
- Department of Neonatology, University of Strasbourg, Strasbourg, France
- Department of Pediatrics, Emory University School of Medicine, Atlanta, GA, USA
- Children's Healthcare of Atlanta Inc, Atlanta, GA, USA
- Department of Neonatology, Skåne University Hospital, Lund, Sweden
- Faculty of Electrical and Computer Engineering, University of Tabriz, Tabriz, Iran
- Departments of Neurology and
- Pediatrics, University of Minnesota Medical School, Minneapolis, MN, USA
- Department of Development and Regeneration, KU Leuven, Leuven, Belgium
- Department of Pharmaceutical and Pharmacological Sciences, KU Leuven, Leuven, Belgium
- Department of Hospital Pharmacy, Erasmus Medical Center, Rotterdam, Netherlands
- Department of Pediatrics, Tufts Medical Center, Boston, MA, USA
- Department of Women's and Children's Health, University of Liverpool, Liverpool, United Kingdom
- Conect4children Stichting, Utrecht, Netherlands
- Department of Pediatrics, University of Utah School of Medicine, Salt Lake City, UT, USA
- Pediatric Development Strategy, Clinical Research Group, Thermo Fisher Scientific, Waltham, MA, USA
- Nuffield Department of Primary Care Health Sciences, University of Oxford, Oxford, United Kingdom
- Center for Translational Research, Children's National Hospital, Washington, DC, USA
- Office of Pediatric Therapeutics, Food and Drug Administration (FDA), Silver Spring, MD, USA
- INC, Critical Path Institute (C-Path), Tucson, AZ, USA
Abstract
Although electroencephalography (EEG) is used to assess neonatal pain in research settings, EEG assessments have not been sufficiently characterized for use as end points to assess the efficacy of analgesics in regulatory-endorsed, industry-sponsored trials. We aimed to identify all studies conducted in neonates with EEG recordings during acute somatic nociceptive skin-breaking procedures, and to create a network of authors who will be invited to contribute their individual participant data (IPD) to an IPD meta-analysis to establish the validity, reliability, and clinical interpretability of an EEG-based neonatal pain measure. To identify literature, we searched MEDLINE, Embase, CINAHL, Web of Science, Scopus, Google Scholar, ClinicalTrials.gov, and the WHO ICTRP from database inception to July 2, 2025. Eligible studies were primary empirical studies that included neonates with EEG recordings during acute skin-breaking procedures. We identified 55 studies across 11 countries. Heel lance was the most common painful procedure; others included venipuncture, immunization, and lumbar puncture. The impact of 12 analgesic interventions has been studied to date, mostly nonpharmacological interventions. Individual-electrode EEG is more common than EEG caps. We noted relatively high data loss due to EEG data-quality concerns. A wide range of non-EEG pain-relevant measures have been recorded alongside EEG (eg, behavior, vital signs). Coauthorship network analysis highlighted that authors commonly work within discrete authorship hubs, with limited coauthorship across hubs. The predominance of studies was from European and American institutions, which limits generalizability. We conclude that sufficient data are available to undertake an IPD meta-analysis.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 1 match between paragraphs and lines of code.
lukebax/neonate-eeg-pain-scr
6ea0fdbba362ce0b73b80b2898bcddf0af0edf8c, 17 October 2025Availability: 1 check, the latest on 29 September 2026: the link answers
- 29 September 2026: the link answers
11 files
- r/
functions/ , R, 37 linescount_occurrences.R - r/
functions/ , R, 80 linesexport_raincloud_data.R - r/
functions/ , R, 25 linesmultiple_entries_to_vect or.R - r/
functions/ , R, 95 linesplot_country_map.R - r/
functions/ , R, 53 linesplot_electrode_frequenci es.R - r/
functions/ , R, 68 linesplot_publication_year.R - r/
functions/ , R, 23 linessave_figure.R - r/
functions/ , R, 29 linessummary_stats.R - r/
scripts/ , R, 135 lines, 1 matchanalyse_data.R - LICENSE, License, 201 lines
- README.md, Text, 51 lines
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 9 scripts, each with its path and the digest of its content;
- 1 match between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 29 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 33 authors, 4 keywords, 1 funder, 65 references.
Cite
This paper
Gunawan, P. Y., Baxter, L., Cobo, M. M., van der Vaart, M., Iyer, S., Monk, V., Anand, K. J., Berde, C. B., Coviello, C., Daliri, M. R., Dumont, G., Fellman, V., Gholami, B., Hartley, C., Kuhn, P., Maitre, N. L., Mansfield, R. C., Marchant, S., Nilsson, S., . . . Slater, R. (2026). Electroencephalography during acute painful procedures in neonates: a scoping review. Pain reports, 11(3), e1437. https://
BibTeX
@article{gunawan2026elec
author = {Gunawan, Patricia Y. and Baxter, Luke and Cobo, Maria M. and van der Vaart, Marianne and Iyer, Samyuktha and Monk, Vaneesha and Anand, Kanwaljeet J.S. and Berde, Charles B. and Coviello, Caterina and Daliri, Mohammad Reza and Dumont, Guy and Fellman, Vineta and Gholami, Behnood and Hartley, Caroline and Kuhn, Pierre and Maitre, Nathalie L. and Mansfield, Roshni C. and Marchant, Simon and Nilsson, Sofie and Norman, Elisabeth and Talebi, Safa and Wang, Sonya and Allegaert, Karel and Davis, Jonathan M. and Turner, Mark A. and Ward, Robert M. and Darsey, Edress and Sheppard, James P. and Bhatt, Aomesh and van den Anker, John and Massaro, An N. and Singh, Kanwaljit and Slater, Rebeccah},
title = {{Electroencephalography
journal = {Pain reports},
year = {2026},
month = apr,
volume = {11},
number = {3},
pages = {e1437},
publisher = {Wolters Kluwer Health},
issn = {2471-2531},
doi = {10.1097/
url = {https://
pmid = {41972211},
pmcid = {PMC13068459}
}
RIS
TY - JOUR
AU - Gunawan, Patricia Y.
AU - Baxter, Luke
AU - Cobo, Maria M.
AU - van der Vaart, Marianne
AU - Iyer, Samyuktha
AU - Monk, Vaneesha
AU - Anand, Kanwaljeet J.S.
AU - Berde, Charles B.
AU - Coviello, Caterina
AU - Daliri, Mohammad Reza
AU - Dumont, Guy
AU - Fellman, Vineta
AU - Gholami, Behnood
AU - Hartley, Caroline
AU - Kuhn, Pierre
AU - Maitre, Nathalie L.
AU - Mansfield, Roshni C.
AU - Marchant, Simon
AU - Nilsson, Sofie
AU - Norman, Elisabeth
AU - Talebi, Safa
AU - Wang, Sonya
AU - Allegaert, Karel
AU - Davis, Jonathan M.
AU - Turner, Mark A.
AU - Ward, Robert M.
AU - Darsey, Edress
AU - Sheppard, James P.
AU - Bhatt, Aomesh
AU - van den Anker, John
AU - Massaro, An N.
AU - Singh, Kanwaljit
AU - Slater, Rebeccah
TI - Electroencephalography during acute painful procedures in neonates: a scoping review
T2 - Pain reports
J2 - Pain Rep
PY - 2026
DA - 2026/
VL - 11
IS - 3
SP - e1437
SN - 2471-2531
PB - Wolters Kluwer Health
DO - 10.1097/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1097/
"type": "article-journal",
"title": "Electroencephalography during acute painful procedures in neonates: a scoping review",
"container-title": "Pain reports",
"author": [
{
"family": "Gunawan",
"given": "Patricia Y."
},
{
"family": "Baxter",
"given": "Luke"
},
{
"family": "Cobo",
"given": "Maria M."
},
{
"family": "van der Vaart",
"given": "Marianne"
},
{
"family": "Iyer",
"given": "Samyuktha"
},
{
"family": "Monk",
"given": "Vaneesha"
},
{
"family": "Anand",
"given": "Kanwaljeet J.S."
},
{
"family": "Berde",
"given": "Charles B."
},
{
"family": "Coviello",
"given": "Caterina"
},
{
"family": "Daliri",
"given": "Mohammad Reza"
},
{
"family": "Dumont",
"given": "Guy"
},
{
"family": "Fellman",
"given": "Vineta"
},
{
"family": "Gholami",
"given": "Behnood"
},
{
"family": "Hartley",
"given": "Caroline"
},
{
"family": "Kuhn",
"given": "Pierre"
},
{
"family": "Maitre",
"given": "Nathalie L."
},
{
"family": "Mansfield",
"given": "Roshni C."
},
{
"family": "Marchant",
"given": "Simon"
},
{
"family": "Nilsson",
"given": "Sofie"
},
{
"family": "Norman",
"given": "Elisabeth"
},
{
"family": "Talebi",
"given": "Safa"
},
{
"family": "Wang",
"given": "Sonya"
},
{
"family": "Allegaert",
"given": "Karel"
},
{
"family": "Davis",
"given": "Jonathan M."
},
{
"family": "Turner",
"given": "Mark A."
},
{
"family": "Ward",
"given": "Robert M."
},
{
"family": "Darsey",
"given": "Edress"
},
{
"family": "Sheppard",
"given": "James P."
},
{
"family": "Bhatt",
"given": "Aomesh"
},
{
"family": "van den Anker",
"given": "John"
},
{
"family": "Massaro",
"given": "An N."
},
{
"family": "Singh",
"given": "Kanwaljit"
},
{
"family": "Slater",
"given": "Rebeccah"
}
],
"container-title-short":
"volume": "11",
"issue": "3",
"page": "e1437",
"DOI": "10.1097/
"PMID": "41972211",
"PMCID": "PMC13068459",
"ISSN": "2471-2531",
"publisher": "Wolters Kluwer Health",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
9
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1038/s44271-026-00457-0 [code]
- Genetic and environmental influences on data missingness in developmental cognitive neuroscience.Journal: Communications psychologyIn common: ggplot2, tidyverse, developmental, 2 references
- [2] doi:10.1162/imag.a.1324
- Spontaneous activation of cortical somatosensory networks depresses their excitability in preterm human neonates.Journal: Imaging neuroscience (Cambridge, Mass.)In common: EEG, 3 references
- [3] doi:10.7554/elife.107081 [code]
- Cortical motor activity modulates respiration and reduces apnoea in neonates.Journal: eLifeIn common: developmental, EEG, 2 references
- [4] doi:10.1093/braincomms/fcag121 [code]
- Anterior insular co-activation patterns associated with stress markers in chronic primary pain.Journal: Brain communicationsIn common: ggplot2, tidyverse, pain, 1 reference
- [5] doi:10.1111/infa.70114 [code]
- Statistics in Motion: Does the Infant Motor System Predict Actions Based on Their Transitional Probability?Journal: Infancy : the official journal of the International Society on Infant StudiesIn common: tidyverse, developmental, EEG, 1 reference
- [6] doi:10.1162/imag.a.1224 [code]
- Test-retest reliability analysis of resting-state EEG measures and their association with long-term memory in children and adults.Journal: Imaging neuroscience (Cambridge, Mass.)In common: ggplot2, tidyverse, EEG, 1 reference
- [7] doi:10.1371/journal.pdig.0001442 [code]
- PANDIA: Personalized neuro-symbolic multimodal fusion for interpretable neonatal pain assessment.Journal: PLOS digital healthIn common: pain, developmental, 1 reference
- [8] doi:10.1371/journal.pbio.3003948 [code]
- Neural encoding of pain is robust within but unstable between individuals.Journal: PLoS biologyIn common: ggplot2, tidyverse, pain, EEG
- [9] doi:10.3758/s13415-026-01442-0 [code]
- Empathy for pain persists across live two-way video interactions and viewing of prerecorded videos.Journal: Cognitive, affective & behavioral neuroscienceIn common: ggplot2, tidyverse, pain, EEG
- [10] doi:10.1038/s41597-026-07377-y [code]
- An open-access multi-site fMRI dataset for investigating conscious visual perception.Journal: Scientific dataIn common: ggplot2, tidyverse, 1 reference
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 9 scripts, and 1 match between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:93bb435d96bc28d2…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
