Source: NCT04320615_soa.pdf (9 PDF pages = document pages 77–85 per PAGEMAP.md; printed footers happen to agree). No protocol markdown was available. Prompt v3.8.1, single pass.
| # | where | call made | alternative | detail |
|---|---|---|---|---|
| D1 | p78, T1 rows 25–31 (also T2 rows 13–19, T3 rows 13–16) | Rows printed below the bold "Central Labs" header, down to the end of the table, are recorded as its children (level 1). All other rows are level 0. The source prints no visual indent. | Treat each table as flat: every row at level 0, with "Central Labs" as a mark-free row that groups nothing | 4.1 |
| D2 | p77, T1 row 15 PaO2/FiO2 (also p81, T2 row 5) | The "← Optional →" cell drawn across merged columns is recorded as the value "← Optional →" on every covered column (T1 cols 3–6; T2 cols 2–27). T2 col 28 has its own separate "Optional". | Treat "Optional" as a condition on the activity, not as a scheduled value, and leave those cells unscheduled | 4.2 |
| D3 | p77, T1 header row 1 | The top band (Screening / Baseline / blank over cols 4–6) is typed epoch, with a synthesized name "Study Period". The blank span is left empty. | Type it as visit ("Baseline" is a visit name), or read the blank span as an unlabelled treatment epoch | 4.3 |
| D4 | p81 / p84, T2 and T3 | Appendix 2 and Appendix 3 are each typed main_soa: they are independent, sequential schedules for the same participants, like separate Screening and Treatment tables | Type T2 and/or T3 as track (same participants, different study phase, own visit structure), with labels "Days 3–28" / "After Day 28" | 5.1 |
| D5 | p81, T2 header row 1 | The top band ("Days 3–28" over the daily columns, "Study Completion/Discontinuation" over col 28) is typed period, with a synthesized name "Period" | Type it as epoch, or as visit | 5.2 |
| D6 | p84, T3 header row 1 | The top band (blank over Days 35/45, "Study Completion" over Day 60) is typed visit at level 1, with a synthesized name "Visit" | Type it as epoch, or give it hierarchical_level null, since Study Day alone already tells the columns apart | 6.1 |
tn1, anchored to header row 1 with method: synthesized, and the marker is also added to that row's annotation_markers.| Table | Title | type | pages | data cols | activities | scheduled cells | annotations |
|---|---|---|---|---|---|---|---|
| 1 | Appendix 1 Schedule of Activities: Days 1 and 2 | main_soa | 77–80 | 5 (pos 2–6) | 28 | 56 | 21 |
| 2 | Appendix 2 Schedule of Activities: Days 3–28 | main_soa | 81–83 | 27 (pos 2–28) | 17 | 220 | 12 |
| 3 | Appendix 3 Schedule of Activities: After Day 28 | main_soa | 84–85 | 3 (pos 2–4) | 14 | 32 | 8 |
Activity rows per page: - T1: p77 17 rows, p78 11 rows. p79 and p80 contribute none: they hold only footnotes b–m and n–t. - T2: p81 16 rows, p82 1 row (Whole blood in PAXgene®). p83 contributes none: footnotes g–k only. - T3: p84 14 rows. p85 contributes none: footnotes b–h only.
No page was skipped. None of the tables is horizontally tiled.
indentation_method: font_signal on all rows). The same call applies to T2 (underlined bold) and T3 (bold only).source_range "3:6" and method: visual_read, because the arrows are symbol-font glyphs read from the render.source_range "2:27" and method: visual_read. Col 28 holds "Optional" in its own cell.synthesized: true: T1 row 1 "Study Period", T2 row 1 "Period", T3 row 1 "Visit".tn1: T1 ("Note: On treatment days, all assessments should be performed prior to dosing, unless otherwise specified.") and T2 ("Note: For patients who have been discharged, all assessments should be performed within ±3 days of the scheduled onsite visit.").pdftotext -bbox (§1b):^[Xx]… token was binned to its nearest column and nearest label row.activity_schedule.method = visual_read on the 4 T1 and 26 T2 "← Optional →" cells.indentation_method = font_signal on all activities.marker_locations.method = synthesized on the two tn1 locations.