healthcare · multi-database search + deduplication + open-access PDF retrieval + reference files + screening spreadsheet

Cut a clinical literature search from three weeks of manual exports to two days for a medical device regulatory team

Client snapshot

A regulatory affairs team of four at a mid-sized orthopaedic device manufacturer. Under the EU MDR, every device needs a clinical evaluation report backed by a documented literature search, and each one is updated every year. The team runs a dozen of these searches a year across PubMed, Embase, Cochrane and the major publisher databases.

The problem

Each search meant running the same query in five or six databases by hand, exporting the results in different formats, and pasting them into one spreadsheet. A quarter of the rows were duplicates, the same paper found in three places with slightly different titles. Finding the PDFs meant clicking through publisher sites one by one, and the reference library had to be built separately. A single search took about three weeks, and the annual update started almost from scratch because nobody could reproduce exactly what had been run.

What we built

A search pipeline the team runs from one spreadsheet of queries.

Each row in the query sheet is a topic with its search string. A Python script translates the string for each source's search syntax and runs it through the APIs: PubMed through E-utilities, and broader coverage through OpenAlex and Crossref. Exports from subscription databases like Embase go in a drop folder and are read in alongside, so nothing depends on the script having access it shouldn't.

Results are deduplicated by DOI first and then by a normalised title and year, so one paper becomes one row with a list of every database it was found in. For each paper, Unpaywall checks for a legal open-access copy, and the script downloads it into a folder named by the paper's ID. Paywalled papers are flagged so the team can order them through their library. Every record gets an RIS file with the same ID, ready to import into EndNote.

The output is one Excel workbook: ID, source databases, topic, title, authors, year, DOI, abstract, whether the PDF was retrieved, and the PDF and reference file names. Claude adds a one-line suggestion for each abstract against the inclusion criteria, clearly marked as a suggestion; the reviewers make every decision. A summary tab records each query, the date it was run, and the hit counts per source, which is exactly what the report's search protocol section needs.

Results, 90 days in

  • Time to a screened-ready literature set: about 3 weeks → 2 days.
  • Duplicate records reaching the reviewers: about 25% → under 1%.
  • The annual update is a re-run of the same query sheet, in under an hour.
  • The search protocol section of each report is filled from the summary tab instead of rebuilt from notes.

Quote

"The search used to be the part we dreaded. Now we spend the time on reading the papers, which is the actual job." Regulatory affairs lead

Build snapshot

  • Timeline: 5 business days
  • Stack: Python, PubMed E-utilities, OpenAlex, Crossref, Unpaywall, Claude, Excel
  • Investment: $1,500
  • Who owned it: the regulatory affairs lead owns the query sheet and the inclusion criteria; reviewers own every screening decision.

The pattern

Any review that searches several databases has the same shape: run the queries, merge, deduplicate, fetch what's legally available, and hand reviewers one clean list. If your team assembles literature, patents or tenders from more than one source, the build is the same, with your sources and fields swapped in.


This is an illustrative composite drawn from operator engagements. Names, identifying details, and exact metrics are anonymised. The workflow, stack, and approach are real.

Looks like your situation?

A 30-minute call tells us whether the same pattern fits your operation, and what it would cost to ship it.