Pre-summarised AE-by-SOC/PT table. Interleaved row order: overall
"any TEAE" row first, then per-SOC blocks where each SOC row is
followed by its preferred-term detail rows. Top 10 SOCs and top
5 PTs per SOC are kept; row_type marks the role of each row and
indent_level carries the canonical depth (0 for overall and SOC,
1 for PT) so the downstream pipeline drives the SOC -> PT indent
via col_spec(indent = "indent_level") without reconstructing
it in every script. The richer SOC × PT slice exercises
paginate() and the engine's horizontal-panel splitter end-to-end
on a realistic submission shell.
Format
A data frame with 61 rows and 10 columns:
socSystem Organ Class label. Repeats across the SOC's PT rows; hide via
col_spec(visible = FALSE)oncelabelcarries the same SOC text on SOC rows.labelThe row's display label. Equal to
socon the overall and SOC-summary rows; equal to the preferred-term name on PT detail rows. Promoted to the primary display column — pair withindent = "indent_level"to drive the SOC -> PT indent.row_typeOne of
"overall","soc","pt". Partition marker; hide viacol_spec(visible = FALSE).indent_levelInteger depth (0 on overall and SOC rows, 1 on PT rows). Consumed by
col_spec(indent = "indent_level")on thelabelcolumn; the engine auto-hides this column at resolve time.n_totalInteger. The row's own subject count — overall TEAE count on the overall row, the SOC's count on each SOC row, the PT's count on each PT row. Inner sort key.
soc_nInteger. The parent SOC's count, broadcast to every row in that SOC's cluster (SOC row + its PT children) so a descending sort on
soc_nkeeps PTs grouped under their parent. On the overall row, equal to the overall TEAE count. Outer sort key.placeboPlacebo arm cell text (
"n (pct)").drug_50,drug_100Drug arms cell text.
TotalPooled-across-arms cell text.
Source
Derived in data-raw/bundle-demo.R from
pharmaverseadam::adae. Filtered to the top 10 SOCs by total
incidence and the top 5 PTs per SOC. Body rows are pre-sorted
with the cards-style two-level rule
(arrange(desc(soc_n), soc, desc(n_total))) so the canonical
render order is already baked in; the render-time
sort_rows(by = c("soc_n", "n_total"), descending = c(TRUE, TRUE))
reproduces it via stable sort.
See also
cdisc_saf_aesocpt_ard for the hierarchical long ARD; cdisc_saf_n for BigN denominators.
Examples
# 95% safety pattern: SOC/PT table where `label` carries SOC text
# on SOC rows and PT text on PT rows, indented by `indent_level`.
# `soc` / `row_type` / `n_total` / `soc_n` ride along as hidden
# partition + sort keys. `sort_rows(soc_n, n_total)` clusters PTs
# under their parent SOC and orders both levels by descending count.
n <- stats::setNames(cdisc_saf_n$n, cdisc_saf_n$arm_short)
tabular(
cdisc_saf_aesocpt,
titles = c(
"Table 14.3.1",
"Adverse Events by SOC and Preferred Term",
"Safety Population"
)
) |>
cols(
label = col_spec(
label = "SOC / PT",
indent = "indent_level",
align = "left"
),
soc = col_spec(visible = FALSE),
row_type = col_spec(visible = FALSE),
n_total = col_spec(visible = FALSE),
soc_n = col_spec(visible = FALSE),
placebo = col_spec(
label = "Placebo\nN={n['placebo']}",
align = "decimal"
),
drug_50 = col_spec(
label = "Drug 50\nN={n['drug_50']}",
align = "decimal"
),
drug_100 = col_spec(
label = "Drug 100\nN={n['drug_100']}",
align = "decimal"
),
Total = col_spec(
label = "Total\nN={n['Total']}",
align = "decimal"
)
) |>
sort_rows(
by = c("soc_n", "n_total"),
descending = c(TRUE, TRUE)
)
Table 14.3.1
Adverse Events by SOC and Preferred Term
Safety Population
SOC / PT Placebo
N=86 Drug 50
N=96 Drug 100
N=72 Total
N=254 TOTAL SUBJECTS WITH AN EVENT 52 (60.5) 81 (84.4) 66 (91.7) 199 (78.3) SKIN AND SUBCUTANEOUS TISSUE DISORDERS 19 (22.1) 36 (37.5) 35 (48.6) 90 (35.4) PRURITUS 8 ( 9.3) 21 (21.9) 25 (34.7) 54 (21.3) ERYTHEMA 8 ( 9.3) 14 (14.6) 14 (19.4) 36 (14.2) RASH 5 ( 5.8) 13 (13.5) 8 (11.1) 26 (10.2) HYPERHIDROSIS 2 ( 2.3) 4 ( 4.2) 8 (11.1) 14 ( 5.5) SKIN IRRITATION 3 ( 3.5) 6 ( 6.2) 5 ( 6.9) 14 ( 5.5) GENERAL DISORDERS AND ADMINISTRATION SITE CONDITIONS 15 (17.4) 36 (37.5) 30 (41.7) 81 (31.9) APPLICATION SITE PRURITUS 6 ( 7.0) 23 (24.0) 21 (29.2) 50 (19.7) APPLICATION SITE ERYTHEMA 3 ( 3.5) 13 (13.5) 14 (19.4) 30 (11.8) APPLICATION SITE DERMATITIS 5 ( 5.8) 9 ( 9.4) 7 ( 9.7) 21 ( 8.3) APPLICATION SITE IRRITATION 3 ( 3.5) 9 ( 9.4) 9 (12.5) 21 ( 8.3) APPLICATION SITE VESICLES 1 ( 1.2) 5 ( 5.2) 5 ( 6.9) 11 ( 4.3) GASTROINTESTINAL DISORDERS 13 (15.1) 12 (12.5) 17 (23.6) 42 (16.5) DIARRHOEA 9 (10.5) 5 ( 5.2) 3 ( 4.2) 17 ( 6.7) VOMITING 3 ( 3.5) 4 ( 4.2) 6 ( 8.3) 13 ( 5.1) NAUSEA 3 ( 3.5) 3 ( 3.1) 6 ( 8.3) 12 ( 4.7) ABDOMINAL PAIN 1 ( 1.2) 3 ( 3.1) 1 ( 1.4) 5 ( 2.0) SALIVARY HYPERSECRETION 0 0 4 ( 5.6) 4 ( 1.6) NERVOUS SYSTEM DISORDERS 6 ( 7.0) 18 (18.8) 17 (23.6) 41 (16.1) DIZZINESS 2 ( 2.3) 9 ( 9.4) 10 (13.9) 21 ( 8.3) HEADACHE 3 ( 3.5) 3 ( 3.1) 5 ( 6.9) 11 ( 4.3) SYNCOPE 0 5 ( 5.2) 2 ( 2.8) 7 ( 2.8) SOMNOLENCE 2 ( 2.3) 3 ( 3.1) 1 ( 1.4) 6 ( 2.4) TRANSIENT ISCHAEMIC ATTACK 0 2 ( 2.1) 1 ( 1.4) 3 ( 1.2) CARDIAC DISORDERS 7 ( 8.1) 12 (12.5) 14 (19.4) 33 (13.0) SINUS BRADYCARDIA 2 ( 2.3) 7 ( 7.3) 8 (11.1) 17 ( 6.7) MYOCARDIAL INFARCTION 4 ( 4.7) 2 ( 2.1) 4 ( 5.6) 10 ( 3.9) ATRIAL FIBRILLATION 1 ( 1.2) 2 ( 2.1) 2 ( 2.8) 5 ( 2.0) SUPRAVENTRICULAR EXTRASYSTOLES 1 ( 1.2) 1 ( 1.0) 1 ( 1.4) 3 ( 1.2) VENTRICULAR EXTRASYSTOLES 0 2 ( 2.1) 1 ( 1.4) 3 ( 1.2) INFECTIONS AND INFESTATIONS 12 (14.0) 6 ( 6.2) 11 (15.3) 29 (11.4) NASOPHARYNGITIS 2 ( 2.3) 4 ( 4.2) 6 ( 8.3) 12 ( 4.7) UPPER RESPIRATORY TRACT INFECTION 6 ( 7.0) 1 ( 1.0) 3 ( 4.2) 10 ( 3.9) INFLUENZA 1 ( 1.2) 1 ( 1.0) 1 ( 1.4) 3 ( 1.2) URINARY TRACT INFECTION 2 ( 2.3) 0 1 ( 1.4) 3 ( 1.2) CYSTITIS 1 ( 1.2) 0 1 ( 1.4) 2 ( 0.8) RESPIRATORY, THORACIC AND MEDIASTINAL DISORDERS 5 ( 5.8) 8 ( 8.3) 9 (12.5) 22 ( 8.7) COUGH 1 ( 1.2) 5 ( 5.2) 5 ( 6.9) 11 ( 4.3) NASAL CONGESTION 3 ( 3.5) 1 ( 1.0) 3 ( 4.2) 7 ( 2.8) DYSPNOEA 1 ( 1.2) 1 ( 1.0) 1 ( 1.4) 3 ( 1.2) EPISTAXIS 0 1 ( 1.0) 2 ( 2.8) 3 ( 1.2) PHARYNGOLARYNGEAL PAIN 0 1 ( 1.0) 1 ( 1.4) 2 ( 0.8) PSYCHIATRIC DISORDERS 7 ( 8.1) 9 ( 9.4) 3 ( 4.2) 19 ( 7.5) CONFUSIONAL STATE 2 ( 2.3) 3 ( 3.1) 1 ( 1.4) 6 ( 2.4) AGITATION 2 ( 2.3) 3 ( 3.1) 0 5 ( 2.0) INSOMNIA 2 ( 2.3) 0 2 ( 2.8) 4 ( 1.6) ANXIETY 0 3 ( 3.1) 0 3 ( 1.2) DELUSION 1 ( 1.2) 0 1 ( 1.4) 2 ( 0.8) MUSCULOSKELETAL AND CONNECTIVE TISSUE DISORDERS 3 ( 3.5) 6 ( 6.2) 5 ( 6.9) 14 ( 5.5) BACK PAIN 1 ( 1.2) 1 ( 1.0) 3 ( 4.2) 5 ( 2.0) ARTHRALGIA 1 ( 1.2) 2 ( 2.1) 1 ( 1.4) 4 ( 1.6) SHOULDER PAIN 1 ( 1.2) 2 ( 2.1) 0 3 ( 1.2) MUSCLE SPASMS 0 1 ( 1.0) 1 ( 1.4) 2 ( 0.8) ARTHRITIS 0 0 1 ( 1.4) 1 ( 0.4) INVESTIGATIONS 5 ( 5.8) 4 ( 4.2) 3 ( 4.2) 12 ( 4.7) ELECTROCARDIOGRAM ST SEGMENT DEPRESSION 4 ( 4.7) 1 ( 1.0) 0 5 ( 2.0) ELECTROCARDIOGRAM T WAVE INVERSION 2 ( 2.3) 1 ( 1.0) 1 ( 1.4) 4 ( 1.6) BLOOD GLUCOSE INCREASED 0 1 ( 1.0) 1 ( 1.4) 2 ( 0.8) ELECTROCARDIOGRAM T WAVE AMPLITUDE DECREASED 1 ( 1.2) 1 ( 1.0) 0 2 ( 0.8) BIOPSY 0 0 1 ( 1.4) 1 ( 0.4)