Skip to contents

Generates a structured narrative describing meta-analysis results including effect estimates, risk of bias, heterogeneity, and evidence grade.

Usage

generate_evidence_narrative(
  endpoint,
  result,
  grade = NULL,
  rob_results = NULL,
  n_patients = NULL,
  template = "iqwig",
  language = c("en", "de"),
  ci_level = 0.95
)

Arguments

endpoint

Character. Name of the endpoint being described.

result

A MetaResult or ComparisonResult object containing effect estimate, confidence interval, p-value, and heterogeneity.

grade

An EvidenceGrade object (optional). If provided, evidence grade information is included in the narrative.

rob_results

A list of RoB2Result objects or a single RoB2Result for single-study analysis (optional).

n_patients

Integer. Total number of patients across studies (required for meta-analysis; for single study, taken from result@n).

template

Character. Template name: "iqwig", "clinical", or "plain". Default: "iqwig".

language

Character. Output language: "en" or "de". Default: "en".

ci_level

Numeric. Confidence level as decimal (e.g., 0.95). Default: 0.95.

Value

Character string containing the formatted narrative.

Examples

if (FALSE) { # \dontrun{
# Create meta-analysis result
meta_res <- MetaResult(
  estimate = 0.75,
  ci = c(0.60, 0.94),
  p_value = 0.012,
  n = 3L,
  effect_measure = "hr",
  heterogeneity = list(I2 = 25, tau2 = 0.02)
)

# Create evidence grade
grade <- EvidenceGrade(
  grade = "indication",
  grade_de = "Hinweis",
  direction = "benefit",
  n_studies = 3L
)

# Generate German narrative (IQWiG style)
narrative <- generate_evidence_narrative(
  endpoint = "Gesamt\u00fcberleben",
  result = meta_res,
  grade = grade,
  n_patients = 1245,
  template = "iqwig",
  language = "de"
)
cat(narrative)

# Generate English clinical narrative
narrative_en <- generate_evidence_narrative(
  endpoint = "Overall Survival",
  result = meta_res,
  grade = grade,
  n_patients = 1245,
  template = "clinical"
)

# Single study example
comp_res <- ComparisonResult(
  estimate = 0.78,
  ci = c(0.65, 0.94),
  p_value = 0.008,
  effect_measure = "hr",
  n = 245L
)
single_narrative <- generate_evidence_narrative(
  endpoint = "PFS",
  result = comp_res,
  n_patients = 245
)
} # }