ClinicOps
Sanitised prototype · browser-local

Does your technical documentation agree with itself?

The same fact — device name, UDI-DI, intended purpose, shelf life, software version — appears in the Declaration of Conformity, label, IFU, technical file summary, SS(C)P and registration data. When those copies drift apart, reviews stall. Paste each key value as it appears in up to five sources, or upload each source's PDF and let this page read it locally to auto-fill what it can find — you review and correct every cell either way — then get a deterministic, severity-banded divergence report with an evidence queue. Everything runs in this browser page, including reading an uploaded PDF; nothing you enter or upload leaves it.

Runs locallyPDF upload read locallyDeterministic normalization rulesVerbatim values preservedPortable JSONHuman authority preserved
Method boundary. A sanitized demonstration of a working method, using fictional data. It compares only the values in the grid — whether you type them or an uploaded PDF's text is read locally in this browser to suggest them — and never decides which value is correct; it is not a compliance determination or regulatory advice. A PDF's text is matched against a fixed set of label patterns, not understood: every suggested cell is marked with its match confidence and must be reviewed, corrected or cleared by you before the check means anything. Which source is authoritative, and whether a divergence matters, is your regulatory reviewer’s decision.

1 · Name the sources

Columns set to "— none —" are excluded. Mark a cell "n/a" when that document legitimately does not carry the fact; leave it empty only when the value should exist but you have not observed it.

2 · Paste each value as printed, or review what an upload suggested

If you uploaded a PDF for a source in step 1, its cells below may already be filled in — review, correct or clear every one before running the check. A cell no upload could find, or that was never uploaded for, stays exactly as before: type the value yourself.

strong match — clear label found weak match — generic label or unusual value; check it carefully OCR-derived — read from a scanned page by local OCR; verify against the source before trusting it

Consistency report

Run the check to see divergences, severity bands and the evidence queue.

NOT RUN
0critical conflicts
0major findings
0minor / cosmetic
0informational
FieldFindingSeverityDetail
No check run yet.

Evidence queue

  1. No queue generated yet.

The tool never says which value is correct. For each divergence: identify the controlled source document, confirm the approved value with its owner, route the correction through change control, fix every divergent instance, then re-run the check.

Export & handoff

The copied summary carries only the band, counts and divergent field names, never your pasted values. The downloaded JSON holds the full grid for your own records.

What PDF upload can and can’t do (v1.2). Reads a PDF's existing text layer locally (up to 40 MB, 200 pages) and matches it against English/Danish label patterns for these 13 fields — that covers most IFUs, Declarations of Conformity, certificates and SS(C)Ps, which are Latin-script and carry a real text layer. For a scanned/image-only PDF with no text layer, the status message offers an explicit, opt-in "Try OCR" button instead of a dead end: local optical character recognition (a one-time ~5 MB engine download, several seconds per page) that never runs unless you choose it, and marks every cell it fills with its own, more conservative confidence tier rather than "strong"/"weak" — misread characters (1/I, 0/O) are a real risk with OCR, so check an OCR-derived cell against the source before trusting it. It still does not read Word, image or other file formats, and does not understand text the way a person does: it is 13 fixed label patterns, nothing more, and a "strong" match can still be wrong. Never treat an auto-filled cell as verified without reading it against the source.
Verbatim preservedNormalization ("N-200" vs "N200", "(01)" wrappers, "2 years" vs "24 months") only classifies; your pasted text is never altered in the report.
Fail-closedOne source cannot corroborate itself. Different unit families are flagged for manual verification, never auto-equated across families.
Human-ownedFindings route review work. Which value is correct — and whether it matters under MDR/IVDR — stays with your qualified owner.

From pasted values to a reviewed technical file

This check demonstrates the smallest unit of the method: one fact, several documents, a deterministic verdict on whether the copies agree. A scoped review applies the same discipline across a full technical-documentation set with named owners, evidence references and a reviewer-ready closure packet.

Scope a consistency reviewCheck one change's propagationMap a regulatory change's impactEmail ClinicOps