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.
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
)
} # }
