Skip to content

Supported PDF Formats

HealthViewer includes dedicated parsers for the most common US lab report formats. When you upload a PDF, it’s automatically identified and extracted — no configuration needed.

  • Standard patient reports (“Component / Your Value / Standard Range” layout)
  • Courtesy copy reports (multi-column)
  • MyQuest portal exports
  • Quest reports embedded in Athena EHR printouts
  • Standard patient reports (“Test Name / Result / Flag / Units / Reference Interval” layout)
  • Standard Mayo Clinic lab reports
  • Mayo / Esoterix specialty reports (e.g. coagulation, copper fractions)
  • Mayo “Patient Copy” alphabetical summary exports (large multi-panel reports)
  • MyChart patient portal PDF exports
  • Epic After Visit Summary (printed from hospital or ER visit)
  • Epic CDA (.xml) files
  • Cerner patient portal exports (Final Result format)
  • Atrium Health / AH Cerner Millennium lab flowsheet ROI exports
  • Athena Ambulatory Summary data portability exports
  • Athena-wrapped Quest results
  • TriCore cumulative lab reports
  • Doctor’s Data specialty lab reports

TypeDescription
.pdfLab PDFs from portals or printed reports
.csvComma-separated data; column order is flexible
.xmlMyChart / Epic CDA format
.zipCompressed bundles of MyChart exports

Maximum file size: 100 MB


For each result, the parser captures:

  • Test name — normalized to a standard form (e.g. “Hgb” → “Hemoglobin”)
  • Value — the numeric or text result
  • Unit — e.g. mg/dL, K/uL
  • Reference range — low/high bounds or text like “≥60”
  • Status — Normal or Abnormal (derived from the range if not explicit in the PDF)
  • Date — collection or result date
  • Panel name — the test panel or section it belongs to (e.g. “Complete Blood Count”)

For results where the PDF doesn’t include a reference range, HealthViewer fills in a suggested range from a built-in reference table. Suggested values are shown in italics — you can edit or clear them before saving.


If HealthViewer can’t parse your PDF automatically, a few options:

  1. Try uploading anyway — the preview table will be empty, but you can add rows manually
  2. Enable AI extraction — if you have an AI provider configured in Settings, HealthViewer will fall back to AI-based extraction for unrecognized or scanned PDFs
  3. Export as CSV — many patient portals let you export results as CSV, which parses reliably
  4. Connect via FHIR — if your health system supports MyChart or another FHIR-compliant portal, connect directly to pull results without needing a PDF

HealthViewer can prepare a redacted sample of the report for you to send us:

  1. When a PDF doesn’t import, choose Help us support this lab on the error screen. (In bulk upload, use Share sample on the file’s row. For a PDF that imports but comes out wrong, go to Settings → Feedback → Share a Lab Report Sample.)
  2. Enter the patient’s name as it appears on the report and, if you like, their date of birth and any MRN or ID numbers. These stay on your computer; HealthViewer uses them to find what to remove, in the usual formats the report may print them.
  3. HealthViewer reads the report’s text on your computer and removes those, and tries to find other names, ID and account numbers, phone numbers, email and street addresses. It also shifts dates and scrambles most result values. Everything it changed is highlighted in the preview.
  4. If you spot anything else, add it under Anything else to remove. Selecting text in the preview fills this in for you.
  5. Read the whole sample, confirm it contains nothing that identifies you, and choose Save sample….
  6. Choose Email to support and attach the saved .txt file to the message that opens.

The PDF itself is never shared, and nothing is sent until you send the email. Redaction is automatic and can miss things, so always read the sample before sending. See the Privacy Policy for how we handle samples.