Skip to the content.

Standards-Compliant Search Logging for Systematic Reviews

Overview

PyEuropePMC provides a robust, standards-compliant search logging utility designed for systematic reviews. This utility ensures full traceability, reproducibility, and auditability of literature search strategies, supporting PRISMA and Cochrane requirements. It enables:

Key Features

Usage Example

from pyeuropepmc.utils.search_logging import (
    SearchLog, start_search, record_query, record_results, prisma_summary,
    sign_and_zip_results
)

# Start a new search log
log = start_search(review_name="My Systematic Review", reviewer="Alice Smith")

# Record a search query
record_query(log, query="cancer AND PUB_YEAR:2023", database="Europe PMC", filters={"open_access": True})

# Record search results (optionally persist raw results)
results = client.search("cancer AND PUB_YEAR:2023")
record_results(log, query="cancer AND PUB_YEAR:2023", results=results, persist_raw=True, raw_results_path="raw_results.json")

# Generate a PRISMA-compliant summary
summary = prisma_summary(log)
print(summary)

# Sign and archive logs/results
sign_and_zip_results(
    files=["search_log.json", "raw_results.json"],
    cert_path="my_cert.pem",
    key_path="my_key.pem",
    output_zip="search_log_archive.zip"
)

Best Practices

Output Formats

Compliance Notes

See Also