Additional file 2 De-identified historical non-MAU prompt templates Associated manuscript: A Configurable LLM System for Automated Data Extraction in Meta-Analysis Using a Minimal Atomic Unit Framework SOURCE AND SCOPE The two user-message templates below were extracted directly from the surviving historical non-MAU Python implementation used for the exploratory comparison. The three surviving non-MAU JSON outputs identify GPT-4.1 and record extraction timestamps of 4 March 2026. The reusable prompt text is reproduced below in its original Chinese, with only the following substitutions and whitespace normalization: - report text is represented by [ARTICLE_TEXT_FIRST_10000_CHARACTERS] or [ARTICLE_TEXT_FIRST_15000_CHARACTERS]; - study-specific identifiers and user-configured parameters are represented by square-bracketed placeholders; - leading Python indentation is removed for readability; Markdown emphasis and inline comments that were inside the prompt strings are retained. Credentials, API keys, local file paths, and report text are not reproduced. They were runtime inputs or implementation details and were not reusable prompt instructions. The historical implementation used GPT-4.1, temperature 0, a 120-second per-request timeout, and a maximum of three retries. The historical prompt labels say “18” study-level fields and “32” outcome-level fields. These are arithmetic labeling errors: the prompts enumerate 17 and 31 fields, respectively. No field has been removed from the extracted templates. The exact historical prompt-freeze timestamp was not preserved. PLACEHOLDER SUBSTITUTIONS [STUDY_ID] = identifier derived from the input filename. [DESIGN_NOTICE] = the complete conditional sentence generated by the script, including its original Markdown emphasis, either naming the allowed study design(s) or stating that study design was unrestricted. [DESIGN_STEPS] = the corresponding conditional inclusion-check sentences generated by the script. [OUTCOME_DOMAIN_REQUIREMENT], [OUTCOME_TYPE_REQUIREMENT], [TIMEPOINT_REQUIREMENT], [COMPARISON_REQUIREMENT], [INTERVENTION_REQUIREMENT], and [COMPARATOR_REQUIREMENT] = the user-configured requirements or the historical unrestricted wording generated by the script. PROMPT 1. SHARED STUDY-LEVEL EXTRACTION USED IN THE NON-MAU PIPELINE 你是一个医学数据提取助手。请根据下面的文章文本,提取研究的静态信息,并为每个字段提供原文依据。 [DESIGN_NOTICE] 请生成一个 JSON 对象,每个字段都是一个对象,包含两个属性: 1. "value": 字段的值 2. "source": 原文中原句(直接从原文中引用,不要修改) 请提取以下18个固定字段: { "study_id": {"value": "[STUDY_ID]", "source": "文件名"}, "title": {"value": null, "source": null}, "authors": {"value": null, "source": null}, "year": {"value": null, "source": null}, "journal": {"value": null, "source": null}, "country": {"value": null, "source": null}, "doi": {"value": null, "source": null}, "study_design": {"value": null, "source": null}, "inclusion_criteria": {"value": null, "source": null}, "exclusion_criteria": {"value": null, "source": null}, "study_setting": {"value": null, "source": null}, "source_of_recruitment": {"value": null, "source": null}, "number_of_participants_randomized": {"value": null, "source": null}, "number_of_participants_analyzed": {"value": null, "source": null}, "dropout_reasons": {"value": null, "source": null}, "meets_inclusion_criteria": {"value": null, "source": null}, "exclusion_reason": {"value": null, "source": null} } 对于study_design字段,请详细说明具体是运用了什么方法进行的随机(例如:计算机随机、数字表法随机、奇数偶数随机分组、根据入院时间分组,或者是没有详细说明)。 **关键步骤:** [DESIGN_STEPS] **重要要求:** 1. 对于每个字段,必须提供原文依据(source) 2. source字段必须是原文中的原句,不要修改 3. 如果找不到原文依据,source设为null 文章文本: [ARTICLE_TEXT_FIRST_10000_CHARACTERS] # 限制文本长度 **JSON格式要求:** 1. 必须返回完全符合JSON语法的对象 2. 所有字符串必须用双引号 3. 不能有尾随逗号 4. 不能有注释 请尽可能提取完整信息。 返回标准 JSON 对象。 Output valid JSON only. Do not use LaTeX, Markdown, or backslash escape sequences (e.g., \(, \_). Use plain text such as vitamin D3. PROMPT 2. DIRECT ARM/OUTCOME EXTRACTION WITHOUT MAU DECOMPOSITION 你是一个医学数据提取助手。请根据下面的文章文本,提取所有相关的结局指标(outcomes),并为每个结局指标提供其所属试验组(arm)的基础信息。 **重要警告:** 1. **严禁将实验组数据误套用到对照组**:如果某个结局指标属于某个组,请确保数值与组名正确对应。 2. **严格区分两种置信区间**: - 均值的置信区间(描述性统计):存储为 mean_ci_lower 和 mean_ci_upper - 效应量的置信区间(推断性统计):存储为 ci_lower 和 ci_upper 3. **数值与组别严格匹配**:确保提取的数值与该组完全对应。 **荟萃分析参数要求:** 1. [OUTCOME_DOMAIN_REQUIREMENT] 2. [OUTCOME_TYPE_REQUIREMENT] 3. [TIMEPOINT_REQUIREMENT] 4. [COMPARISON_REQUIREMENT] 5. [INTERVENTION_REQUIREMENT] 6. [COMPARATOR_REQUIREMENT] 请根据上述参数,提取文章中所有符合要求的结局指标。 **每个结局指标(outcome)必须包含以下字段,每个字段都是一个对象,包含 "value" 和 "source":** --- 结局指标本身的信息(共32个固定字段,将用于 Atomic_Outcomes 表)--- - study_id: 固定为 "[STUDY_ID]",source设为"文件名" - arm_name: 该结局指标所属的组名(如"干预组"、"对照组A"等) - trial_arm_id: 暂不填写,后续会处理 - is_shared_comparator: 根据arm_type判断,如果是对照组则为true,否则false(可先填null) - outcome_name: 结局指标名称 - scale_name: 使用的量表名称(如有) - outcome_type: 类型 (continuous/dichotomous/ordinal/time_to_event) - outcome_unit: 单位(如分、mm等) - domain_match: 该指标如何匹配指定领域(如有) - time_point: 测量时间点描述(如"基线"、"干预后1个月") - comparison_type: 对比类型(如"组间横向对比"、"组内前后对比") - comparison_targets: 对比的具体对象(如"干预组 vs 对照组") - mean: 均值(连续变量) - sd: 标准差(连续变量) - median: 中位数 - iqr: 四分位距 - event_count: 事件发生数(二分类) - total_count: 总人数(二分类) - participants_analyzed: 该结局指标的分析人数 - mean_ci_lower: 均值的置信区间下限 - mean_ci_upper: 均值的置信区间上限 - effect_size_type: 效应量类型(MD/SMD/HEDGES_G/RR/OR/HR) - effect_size_definition: 效应量定义(如"between-group post-intervention difference") - effect_size_value: 效应量数值 - ci_lower: 效应量的置信区间下限 - ci_upper: 效应量的置信区间上限 - p_value: 显著性p值 - outcome_role: 结局指标角色(primary/secondary/exploratory) - time_point_role: 时间点角色(baseline/post/followup) - followup_weeks: 随访周数(如有) - higher_is_better: 高分是否更好(true/false) --- 所属试验组(arm)的基础信息(用于构建 Design_Info 表)--- **注意:每个 outcome 必须同时包含以下字段,描述其所属 arm 的总体特征(这些字段不会出现在 Atomic_Outcomes 表中,但用于构建 Design_Info)** - arm_type: 组类型(intervention/control/placebo等) - total_participants: 该组总人数(通常为随机化或入组人数) - gender_male_count: 男性人数 - gender_female_count: 女性人数 - mean_age: 平均年龄 - age_sd: 年龄标准差 - intervention_details: 干预措施详细描述 - intervention_duration: 干预持续时间(如"8周") - intervention_frequency: 干预频率(如"每周3次") - control_details: 对照措施详细描述(如为对照组,此项应有内容;干预组可为null) - adherence_to_control: 对照依从性(如百分比) - adherence_to_intervention: 干预依从性 - number_of_participants_analyzed: 该组总的分析人数(可能与outcome中的participants_analyzed不同,此处为arm级别) - timepoint: 该 arm 基线或描述的时间点(通常为"基线"或"入组时"),用于 Design_Info 中的 timepoint 字段 - subgroup: 亚组信息(如果有亚组分析,请在此注明,否则填null) **关键规则:** 1. **数据来源严格匹配**:每个字段的 source 必须是原文原句。 2. **一一对应规则**:一个「对比属性组合」只能对应一组效应量信息。 3. **参数匹配**:只提取符合上述荟萃分析参数要求的结局指标。 4. **冗余处理**:同一个 arm 的 arm 基础信息可能在多个 outcome 中重复出现,我们会在后续去重,请确保每个 outcome 中都包含完整的 arm 信息。 **JSON格式要求:** 1. 必须返回完全符合JSON语法的数组。 2. 所有字符串必须用双引号。 3. 不能有尾随逗号。 4. 不能有注释。 5. 确保JSON结构完整闭合。 文章文本: [ARTICLE_TEXT_FIRST_15000_CHARACTERS] # 限制文本长度,避免token超限 请尽可能根据文本提取完整信息。 返回标准 JSON 列表,每个元素是一个 outcome 对象(包含上述所有字段)。 如果没有符合的指标,返回空列表 []。 Output valid JSON only. Do not use LaTeX, Markdown, or backslash escape sequences (e.g., \(, \_). Use plain text such as vitamin D3.