Part of #51. Builds on the cross-validation step (#52). This is the
market-differentiating feature — no existing consumer product does it.
Summary
Let the user provide the official radiologist report (paste text, or ingest a
DICOM SR / PDF), and have MedCheck reconcile it against its own image-derived
findings and the ML signals: which official findings the model can localize, where
they are, and any regions the model flagged that the report did not mention — each
framed as "ask your doctor about this," never as a contradiction or a new
diagnosis.
Why (research-backed)
Market research found the landscape is siloed and nobody reconciles report vs.
image for patients:
- Text explainers (Scanslated, Read My MRI, ChatGPT) explain the words but
never read the pixels → can't validate anything.
- Viewers (Horos, Weasis, OHIF) show pixels but explain nothing.
- Second-opinion services (DocPanel, Mediphany $95–300) do both but are paid,
slow, closed, human.
- The closest research prototype (ReXplain) only highlights image regions; it's
unreleased.
Reconciliation also has clinical grounding: subspecialty second reads find
~20–25% clinically significant discrepancies, and everyday radiology
discrepancy is ~3–5% — so "here's what your report says, here's where it is, and
here's something to ask about" is genuinely useful, while staying on the safe side
of the regulatory line (it explains/locates an existing human report rather
than issuing findings).
⚠️ Positioning / safety (see epic #51)
- Frame strictly as comprehension + question-preparation: "Your report
mentions X — here is the region" and "the analysis also looked at Y; the report
doesn't mention it — consider asking your doctor."
- Never state the radiologist is wrong, never present a model finding as a
diagnosis, never say a region is normal/abnormal definitively.
- This keeps MedCheck in the educational track; presenting autonomous image
findings to a patient as truth would make it a regulated device.
Proposed implementation
Acceptance criteria
Dependencies
Strong synergy with #52 (validation), #53 (segmentation locations), #54 (DICOM SR
parsing), #57 (PHI scrubbing of ingested text).
Effort
~2–3 days. No heavy deps for the text path.
References (session research)
Consumer-tool market gap analysis; subspecialty second-read discrepancy ~20–25%;
everyday radiology discrepancy 3–5%; ReXplain (arXiv 2410.00441).
Part of #51. Builds on the cross-validation step (#52). This is the
market-differentiating feature — no existing consumer product does it.
Summary
Let the user provide the official radiologist report (paste text, or ingest a
DICOM SR / PDF), and have MedCheck reconcile it against its own image-derived
findings and the ML signals: which official findings the model can localize, where
they are, and any regions the model flagged that the report did not mention — each
framed as "ask your doctor about this," never as a contradiction or a new
diagnosis.
Why (research-backed)
Market research found the landscape is siloed and nobody reconciles report vs.
image for patients:
never read the pixels → can't validate anything.
slow, closed, human.
unreleased.
Reconciliation also has clinical grounding: subspecialty second reads find
~20–25% clinically significant discrepancies, and everyday radiology
discrepancy is ~3–5% — so "here's what your report says, here's where it is, and
here's something to ask about" is genuinely useful, while staying on the safe side
of the regulatory line (it explains/locates an existing human report rather
than issuing findings).
mentions X — here is the region" and "the analysis also looked at Y; the report
doesn't mention it — consider asking your doctor."
diagnosis, never say a region is normal/abnormal definitively.
findings to a patient as truth would make it a regulated device.
Proposed implementation
(a) pasted/loaded text, (b) DICOM SR (parse via
highdicom, see Add structured standards export: FHIR DiagnosticReport + DICOM SR #54),or (c) PDF text extraction. Run PHI scrubbing (Add robust DICOM de-identification step (tag scrubbing + burned-in PHI + optional defacing) #57) on ingested text.
src/medcheck/pipeline/reconcile.py→ReconcileStep(PipelineStep),after
vision_analysis/validate, beforereport.StructureFindings andsegmentationregions (Add anatomy segmentation grounding step (MONAI / TotalSegmentator total_mr) #53) to produce:this; the tool didn't independently flag it"),
PipelineContextwithreconciliation: [...]; render a clearside-by-side section in the report (especially the patient report mode Add patient-friendly plain-language report mode #56).
Acceptance criteria
where available.
language (unit-tested phrasing guardrails).
empty-report no-op.
Dependencies
Strong synergy with #52 (validation), #53 (segmentation locations), #54 (DICOM SR
parsing), #57 (PHI scrubbing of ingested text).
Effort
~2–3 days. No heavy deps for the text path.
References (session research)
Consumer-tool market gap analysis; subspecialty second-read discrepancy ~20–25%;
everyday radiology discrepancy 3–5%; ReXplain (arXiv 2410.00441).